2013-10-28 72 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開箱即用的功能,此答案將無濟於事。 –

相關問題