C# 会员授权

C# 会员授权,c#,asp.net-mvc-3,asp.net-membership,C#,Asp.net Mvc 3,Asp.net Membership,我有一个网站,我用C#MVC3 Razor来做这件事。对于授权和身份验证,我使用成员资格。对于身份验证,我的代码可以正常工作,但是对于授权,我无法工作。我有一个“管理员”的规则。我怎么做 web.config <roleManager enabled="true"> <providers> <clear /> <add connectionStringName="ApplicationServices" applicationName=

我有一个网站,我用C#MVC3 Razor来做这件事。对于授权和身份验证,我使用成员资格。对于身份验证,我的代码可以正常工作,但是对于授权,我无法工作。我有一个“管理员”的规则。我怎么做

web.config

<roleManager enabled="true">
 <providers>
    <clear />
    <add connectionStringName="ApplicationServices" applicationName="/"
      name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
    <add applicationName="/" name="AspNetWindowsTokenRoleProvider"
      type="System.Web.Security.WindowsTokenRoleProvider" />
  </providers>
</roleManager>

   <system.web>
       <authorization>
            <allow roles="?,*"/>
            <deny users="Administrator" />
        </authorization>
    </system.web>
您应该使用授权


标准配置中的一个,或我使用的web.config中的

it@Developer123-那么它应该会起作用。您需要将一个或多个用户添加到“管理员”角色,这些用户应该可以访问受
Authorize
属性保护的操作。我的“管理员”角色有4个用户,但当我使用[Authorize(Roles=“Administrator”)]时,页面不会打开并尝试调试。以管理员身份登录时,调用未使用Authorize属性保护的操作。检查与委托人关联的角色。检查配置了哪个提供程序(我发现您尚未在roleManager配置元素中设置defaultProvider属性)。您需要提供更多信息!默认()操作是否将您重定向到登录操作?您是否已检查以确保会话[“用户”]不为空?为什么还要检查会话[“用户”]是否为空?
        [Authorize(Roles = "Administrator")]
        public ActionResult Default()
        {
            if (Session["user"] != null)
                return View();
            else
                return RedirectToAction("Login");
        }