2013-10-28 56 views
2

我想锁定我们的“管理员”页面只有管理员使用Asp.net身份(我们正在建设MVC5)。我可以得到[Authorize(Users =“admin”)]工作,但无法获得[Authorize(Roles =“Admin”)]工作。MVC 5基于角色的身份验证

我在dbo.AspNetRoles表中创建了角色,然后通过将用户GUID与aspnetroles表中的ID进行配对,将AspNetUserRoles中的帐户关联起来。

我在之前的MVC版本中看到过,您必须进入web.config才能添加一些行。任何人都可以帮助我指出正确的方向吗?

回答

1

您是否在web.config中指定了要使用角色?

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider"> 
     <providers> 
     <clear /> 
     <add name="AspNetSqlRoleProvider" connectionStringName="DefaultConnection" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </providers> 
    </roleManager> 
+0

你需要添加这个权限,它目前还没有供你修改,正确吗? –

+0

@RefractedPaladin有时候,它有时并不依赖于创建文件的项目类型。 – Josh

+4

如果您使用[ASP.NET身份](http://www.asp.net/identity),这是MVC 5开箱即用的功能,此答案将无济于事。 –

相关问题