ASP.net Forms驗(yàn)證Demo第1/3頁
更新時間:2009年01月03日 00:47:41 作者:
Asp.net中基于Forms驗(yàn)證的角色驗(yàn)證授權(quán)
如果您研究過這個問題,那么,你一定會比較郁悶,現(xiàn)在網(wǎng)上流行的那個,國產(chǎn)的,里面有點(diǎn)問題,反正我一從昨天研究到現(xiàn)在 2008年12月17日 23時59分10秒,才搞明白是怎么回事,你說我們這些人容易嗎!如果只是為了完成任務(wù),我用ASP就OK了,為什么還要用ASP.net,如果我們用.net時還用ASP的思路也得了,為什么還要研究ASP.net提供的東西。呵呵,不為什么,喜歡,我所做的正是我想做的,我不是為了完成一個任務(wù),而是為了提升自己??傊痪湓挘何业哪繕?biāo)是簡化生活,技術(shù)高了,就不怕出錯了,天塌下來也能給他頂回去。
言歸正傳,首先,貼上人家外國人的地址:http://www.codeproject.com/KB/web-security/formsroleauth.aspx
有興趣的可以看看,沒興趣的直接下我的Demo,有點(diǎn)興趣的可以看下國人處理時有問題的地方:
Global.asax
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (HttpContext.Current.User != null)//如果當(dāng)前的http信息中存在用戶信息
{
if (HttpContext.Current.User.Identity.IsAuthenticated)//如果當(dāng)前用戶的身份已經(jīng)通過了驗(yàn)證
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
//如果當(dāng)前用戶身份是FormsIdentity類即窗體驗(yàn)證類,此類有個屬性能夠訪問當(dāng)前用戶的驗(yàn)證票
FormsIdentity fi = (FormsIdentity)HttpContext.Current.User.Identity;//創(chuàng)建個FormsIdentity類,用他來訪問當(dāng)前用戶的驗(yàn)證票
//獲得用戶的驗(yàn)證票
FormsAuthenticationTicket ticket = fi.Ticket;
//從驗(yàn)證票中獲得用戶數(shù)據(jù)也就是角色數(shù)據(jù)
string userData = ticket.UserData;
//把用戶數(shù)據(jù)用,分解成角色數(shù)組
string[] roles = userData.Split(',');
//重寫當(dāng)前用戶信息,就是把角色信息也加入到用戶信息中
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(fi, roles);
}
}
}
}
最后,貼上國人的地址,其實(shí)文章寫的不錯,只是這個事件沒寫對,其它的都不錯
言歸正傳,首先,貼上人家外國人的地址:http://www.codeproject.com/KB/web-security/formsroleauth.aspx
有興趣的可以看看,沒興趣的直接下我的Demo,有點(diǎn)興趣的可以看下國人處理時有問題的地方:
Global.asax
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (HttpContext.Current.User != null)//如果當(dāng)前的http信息中存在用戶信息
{
if (HttpContext.Current.User.Identity.IsAuthenticated)//如果當(dāng)前用戶的身份已經(jīng)通過了驗(yàn)證
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
//如果當(dāng)前用戶身份是FormsIdentity類即窗體驗(yàn)證類,此類有個屬性能夠訪問當(dāng)前用戶的驗(yàn)證票
FormsIdentity fi = (FormsIdentity)HttpContext.Current.User.Identity;//創(chuàng)建個FormsIdentity類,用他來訪問當(dāng)前用戶的驗(yàn)證票
//獲得用戶的驗(yàn)證票
FormsAuthenticationTicket ticket = fi.Ticket;
//從驗(yàn)證票中獲得用戶數(shù)據(jù)也就是角色數(shù)據(jù)
string userData = ticket.UserData;
//把用戶數(shù)據(jù)用,分解成角色數(shù)組
string[] roles = userData.Split(',');
//重寫當(dāng)前用戶信息,就是把角色信息也加入到用戶信息中
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(fi, roles);
}
}
}
}
最后,貼上國人的地址,其實(shí)文章寫的不錯,只是這個事件沒寫對,其它的都不錯
您可能感興趣的文章:
- 淺談asp.net Forms身份驗(yàn)證詳解
- 詳解ASP.NET MVC Form表單驗(yàn)證
- 關(guān)于C#.net winform程序驗(yàn)證moss的集成身份認(rèn)證實(shí)例
- Asp.Net二級域名共享Forms身份驗(yàn)證、下載站/圖片站的授權(quán)訪問控制
- ASP.NET Internet安全Forms身份驗(yàn)證方法
- asp.net forms身份驗(yàn)證,避免重復(fù)造輪子
- asp.net 基于forms驗(yàn)證的目錄角色權(quán)限的實(shí)現(xiàn)
- asp.net Forms身份驗(yàn)證和基于角色的權(quán)限訪問
- asp.net 特定目錄form驗(yàn)證
- .net MVC使用IPrincipal進(jìn)行Form登錄即權(quán)限驗(yàn)證(3)
相關(guān)文章
ASP.NET Core根據(jù)環(huán)境變量支持多個 appsettings.json配置文件
這篇文章主要介紹了ASP.NET Core根據(jù)環(huán)境變量支持多個 appsettings.json配置文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Asp.net使用SignalR實(shí)現(xiàn)聊天室的功能
這篇文章主要介紹了Asp.net使用SignalR實(shí)現(xiàn)聊天室的功能的相關(guān)資料,需要的朋友可以參考下2016-04-04
ASP.NET配合jQuery解決跨域調(diào)用的問題
這篇文章主要介紹了ASP.NET配合jQuery解決跨域調(diào)用的問題,簡單實(shí)用,需要的朋友可以參考下。2016-06-06
asp.net 圖標(biāo)提取以及圖標(biāo)轉(zhuǎn)換的實(shí)例代碼
asp.net 圖標(biāo)提取以及圖標(biāo)轉(zhuǎn)換的實(shí)例代碼,需要的朋友可以參考一下2013-06-06
ASP.NET中XML轉(zhuǎn)JSON的方法實(shí)例
這篇文章主要介紹了ASP.NET中XML轉(zhuǎn)JSON的方法,實(shí)例講述了XML轉(zhuǎn)json的原理與實(shí)現(xiàn)過程,具有一定的實(shí)用價值,需要的朋友可以參考下2014-10-10
Convert.ToInt32與Int32.Parse區(qū)別及Int32.TryParse
2個方法都可以把string轉(zhuǎn)換為int,那么他們有什么區(qū)別?什么時候該用什么?性能如何。 其實(shí)在2.0里還有Int32.TryParse也實(shí)現(xiàn)了同樣的效果。2009-01-01

