程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.net Forms驗證Demo第1/3頁

ASP.net Forms驗證Demo第1/3頁

編輯:ASP.NET基礎
如果您研究過這個問題,那麼,你一定會比較郁悶,現在網上流行的那個,國產的,裡面有點問題,反正我一從昨天研究到現在 2008年12月17日 23時59分10秒,才搞明白是怎麼回事,你說我們這些人容易嗎!如果只是為了完成任務,我用ASP就OK了,為什麼還要用ASP.net,如果我們用.net時還用ASP的思路也得了,為什麼還要研究ASP.net提供的東西。呵呵,不為什麼,喜歡,我所做的正是我想做的,我不是為了完成一個任務,而是為了提升自己。總之一句話:我的目標是簡化生活,技術高了,就不怕出錯了,天塌下來也能給他頂回去。

言歸正傳,首先,貼上人家外國人的地址:http://www.codeproject.com/KB/web-security/formsroleauth.aspx

有興趣的可以看看,沒興趣的直接下我的Demo,有點興趣的可以看下國人處理時有問題的地方:

Global.asax

protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{

if (HttpContext.Current.User != null)//如果當前的http信息中存在用戶信息
{
if (HttpContext.Current.User.Identity.IsAuthenticated)//如果當前用戶的身份已經通過了驗證
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
//如果當前用戶身份是FormsIdentity類即窗體驗證類,此類有個屬性能夠訪問當前用戶的驗證票
FormsIdentity fi = (FormsIdentity)HttpContext.Current.User.Identity;//創建個FormsIdentity類,用他來訪問當前用戶的驗證票
//獲得用戶的驗證票
FormsAuthenticationTicket ticket = fi.Ticket;
//從驗證票中獲得用戶數據也就是角色數據
string userData = ticket.UserData;
//把用戶數據用,分解成角色數組
string[] roles = userData.Split(',');
//重寫當前用戶信息,就是把角色信息也加入到用戶信息中
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(fi, roles);
}
}
}
}

最後,貼上國人的地址,其實文章寫的不錯,只是這個事件沒寫對,其它的都不錯
當前1/3頁 123下一頁閱讀全文
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved