问题描述
|
我在c#中的角色管理器无法正常运行。
启动我的网站时,将启动一个登录页面。并在登录时将您重定向到Default.aspx
var username = (string)Session[\"username\"];
Login1.LoggedIn += (ee,ff) =>
{
Session.Add(\"username\",Login1.UserName);
Response.Redirect(\"Default.aspx\");
}
我的主页检查会话是否为“ 1”,然后转到Login.aspx
if (Session[\"username\"] == null)
{
Response.Redirect(\"Login.aspx\");
return;
}`
我有2个不同的角色\“ admin \”和\“ vip \”。
因此,如果用户以\“ admin \”角色的身份授予对特定aspx站点的访问权限,则不要!
if (User.IsInRole(\"admin\"))
{
Response.Redirect(\"Test.aspx\");
} else if (User.IsInRole(\"vip\")) {
Response.Redirect(\"Default.aspx\");
}`
仍然无关紧要的是谁登录,它仍然授予对Test.aspx的访问权限
我的webconfig文件:
<system.web>
<authorization>
<allow roles=\"admin\" />
</authorization>`
希望有人能理解我的“小”问题
解决方法
尝试在web.config中也给拒绝用户,例如:
<system.web>
<authorization>
<allow roles=\"admin\" />
<deny users=\"*\" />
</authorization>`