




























本文已经假设你了解Forms验证的一般知识.
Asp.net中基于Forms验证的角色(用户组)验证授权,其实就是在一般的Forms验证上边加多一个名为UserDate的string内容,
大家可以分三步完成验证:
1,设置web.config
在这里大家要注意:
<allow roles="Admin" />
<deny users="*" />
的顺序,如果反来就谁也进不了了!
2,在login.aspx页面的验证
//定义角色
private void ibtLogin_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
int UserID = MyAuthentication(UserName,PassWord);//验证一般用户
string userData = "Member";//获取角色字符串
if(MyAdminAuthentication(UserID))//验证用户角色
{
userData = "Admin,Member";
}
System.Web.Security.FormsAuthenticationTicket Ticket = new System.Web.Security.FormsAuthenticationTicket(1,UserID.ToString(),DateTime.Now,DateTime.Now.AddMinutes(30), true,userData) ; //建立身份验证票对象
string HashTicket = System.Web.Security.FormsAuthentication.Encrypt (Ticket) ; //加密序列化验证票为字符串
HttpCookie UserCookie = new HttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName, HashTicket) ; //生成Cookie
Context.Response.Cookies.Add (UserCookie) ; //输出Cookie
// 重定向到用户申请的初始页面
if(Context.Request["ReturnUrl"] != null)
{
Context.Response.Redirect(Context.Request["ReturnUrl"]) ;
}
else
{
Context.Response.Redirect("Default.aspx");
}
}
private int MyAuthentication(string UserName,string PassWord)
{
//验证一般用户
}
private bool MyAdminAuthentication(int UserID)
{
//验证用户角色
}
3,最后是Global.asax了:)
哈哈...这样一个基于Forms验证的角色(用户组)验证授权就完成了!^O^
参考文章:
http://www.howtodothings.com/ViewArticle.aspx?Article=31
http://www.cnblogs.com/wuchang/archive/2004/07/26/27474.aspx
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。