2013-10-28 3 views
2

저는 Asp.net ID (MVC5에 구축 중)를 사용하는 관리자 만 "admin"페이지를 잠그려고합니다. [Authorize (Users = "admin")]이 작동하도록 할 수는 있지만 [Authorize (Roles = "Admin")]을 작동시킬 수는 없습니다.MVC 5 역할 기반 인증

dbo.AspNetRoles 테이블에서 역할을 만든 다음 aspnetroles 테이블의 ID에 사용자 GUID를 연결하여 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

MVC 5가 바로 사용할 수있는 [ASP.NET ID] (http://www.asp.net/identity)를 사용하는 경우이 대답은 도움이되지 않습니다. –