C# 会员授权
我有一个网站,我用C#MVC3 Razor来做这件事。对于授权和身份验证,我使用成员资格。对于身份验证,我的代码可以正常工作,但是对于授权,我无法工作。我有一个“管理员”的规则。我怎么做 web.configC# 会员授权,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=
<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");
}