【问题标题】:Rolemanager not working properly角色管理器无法正常工作
【发布时间】:2011-05-16 19:47:17
【问题描述】:

我在 c# 中的角色管理器没有按我的意愿工作。

启动我的站点时,会启动一个登录页面。登录后,将您重定向到 Default.aspx

var username = (string)Session["username"];
    Login1.LoggedIn += (ee, ff) =>
    {            
        Session.Add("username", Login1.UserName);  
        Response.Redirect("Default.aspx");
}

我的母版页检查会话是否为null 然后转到 Login.aspx

if (Session["username"] == null)
{
Response.Redirect("Login.aspx");
return;
}`

我有 2 个不同的角色“admin”和“vip”。

因此,如果用户是“管理员”角色,则授予对特定 aspx 站点的访问权限,否则不要!

     if (User.IsInRole("admin"))
       {
          Response.Redirect("Test.aspx");
      } else if (User.IsInRole("vip")) {
         Response.Redirect("Default.aspx");
       }`

不管谁登录,它仍然授予对 Test.aspx 的访问权限

我的网络配置文件:

<system.web>
  <authorization>
   <allow roles="admin" />
  </authorization>`

希望有人能理解我的“小”问题

【问题讨论】:

    标签: c# roles


    【解决方案1】:

    尝试在 web.config 中也给拒绝用户,例如:

    <system.web>
    <authorization>
    <allow roles="admin" />
    <deny users="*" />
    </authorization>`
    

    【讨论】:

    • 一直在尝试。它否定了我的整个项目。访问被拒绝。
    • 如何将用户添加到相应的角色?如果你是通过网站管理工具添加的,那么在system.web下的web.config中启用角色管理如:&lt;roleManager enabled="true"&gt;,然后使用如:if (HttpContext.Current.User.IsInRole("Admin"))这样的条件来检查用户是否属于该角色。
    猜你喜欢
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    相关资源
    最近更新 更多