【发布时间】:2011-08-19 03:20:07
【问题描述】:
又是在 asp.net 中遇到有关角色问题的一天。所以我目前正在尝试为我的网站设置角色。我使用这段代码来制作 formsAuthentication 票。
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, //Ticket version
p.firstName, //username
DateTime.Now,
DateTime.Now.AddMinutes(30),
false, //true for persistant user cookie
"Admin",
FormsAuthentication.FormsCookiePath);
string hashCookies = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hashCookies);
Response.Cookies.Add(cookie);
Response.Redirect("Default.aspx");
您可以看到我正在向此人添加角色“管理员”。页。是一个对象,名字是一个字符串。在下一段代码中,我检查该人在进入管理站点时是否获得了管理员角色。如果他不是管理员,他必须被退回。
if (User.IsInRole("Admin") != true)
{
Response.Redirect("Default.aspx");
}
奇怪的是它让我回到默认页面?有人知道答案吗?
PS。我知道您必须在 web.config 文件的不同位置设置授权。但如果他连这个角色都没有得到,那也无所谓了。
【问题讨论】: