2013-12-20 2 views
13

기업 환경에서 내부 용으로 MVC4 애플리케이션을 구축 중입니다. 나는 잘 작동하는 Windows 인증을 사용하지만 권한 부여 역할로 Active Directory 그룹을 사용하는 데 문제가 있습니다.활성 디렉토리 역할 공급자 MVC4를 사용하여 권한 부여

내의 Web.config은 다음과 같습니다

[Authorize(Users = @"DOMAIN\User1, DOMAIN\User2")] 
public ActionResult Create() 
{ 
    return View(); 
} 

을하지만 역할을 사용할 때, 그것은 단지에서 사용자를하지 않는 : 나는 사용자 인증을 사용하는 경우

<authentication mode="Windows" />   
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"> 
    <providers> 
    <clear /> 
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /> 
    </providers> 
</roleManager>   
<authorization> 
    <deny users="?" />  
</authorization> 

가 잘 작동 그룹 :이 작업에 액세스하려면

[Authorize(Roles = @"Domain\Group")] 
public ActionResult Create() 
{ 
    return View(); 
} 

다른 그룹에서 도메인을 지정하려고 시도했습니다. plies,하지만 행운을 빌어 요 ... 나는 Web.config에서 뭔가를 놓치고있는 것 같아요.하지만 확실하지 않아요.

MVC4는 달성해야하기 때문에 사용자 지정 역할 공급자를 사용하지 않았습니다. 이 사용자 지정 역할 공급자없이 (또는 적어도 내가 생각했던 것)

아무도 도와 줄 수 있습니까?

미리 감사드립니다.

답변

16

어떤 문제인지 확인했습니다. machine.config에 대한 정보를 읽은 후 here 올바른 구성을 이미 적용했는지 확인했습니다.

[Authorize(Roles = "Domain\\Group")] 
public ActionResult Create() 
{ 
    return View(); 
} 

문제는 내가 그룹을 입력 한 방법이었다 :

는 Fianlly 난 그냥 이런 식으로 작업을 얻었다.

다른 사람들에게 도움이되기를 바랍니다.

+0

아, 이중 백 슬래시! 나는이 작업을 몇 시간 동안 해왔다. - Cheers –

+1

@ D.Mac - 표준 C# 문자열 형식 지정/이스케이프 : "Domain \\ Group"또는 @ "Domain \ Group". https://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx –

+3

예, 구문적인 문제 일 뿐이므로 백래시는 이유 또는 의미상의 차이 일 수 없습니다. – Mzn

관련 문제