|
言歸正傳,首先,貼上人家外國人的地址:http://www.codeproject.com/KB/web-security/formsroleauth.ASPx
有興趣的可以看看,沒興趣的直接下我的Demo,有點(diǎn)興趣的可以看下國人處理時(shí)有問題的地方:
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)證類,此類有個(gè)屬性能夠訪問當(dāng)前用戶的驗(yàn)證票
FormsIdentity fi = (FormsIdentity)HttpContext.Current.User.Identity;//創(chuàng)建個(gè)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í)文章寫的不錯(cuò),只是這個(gè)事件沒寫對,其它的都不錯(cuò)
AspNet技術(shù):ASP.net Forms驗(yàn)證Demo第1/3頁,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。