2

로컬 그룹을 사용하여 ASP.NET 웹 응용 프로그램에 대한 액세스를 로컬 사용자로 제한하려고합니다.ASP.NET 사용자 지정 창 그룹을 역할로 사용할 수 없습니다.

Windows 그룹 (TestLocalGroup) 및 Windows 사용자 계정을 만들고이를 모두 새 그룹에 할당했습니다. 그룹과 계정은 IIS7 웹 서버에 있습니다. 내 Web.config의에서

, 나는 제대로 다음 설정을 정의하여 특정 사용자에 대한 액세스를 제한 할 수 있습니다 ...

<authentication mode="Windows" /> 
<authorization>     
    <allow users=".\TestLocalUser1,.\TestLocalUser2" /> 
    <deny users="*" /> 
</authorization> 

하지만이 그룹에 대한 작업을 얻을 수없는 것. 이 코드는

<authentication mode="Windows" /> 
<authorization>     
    <allow roles=".\TestLocalGroup" /> 
    <deny users="*" /> 
</authorization> 

나는 어떤 "으로 roleManager"절을하지 않아도 ... 내 그룹 구성원이 액세스 할 수 없습니다. 나는 그것을 필요로 하느냐?

내가 누락 된 항목이 있습니까? 그것은 단지 작동 해야하는 것 같습니다.

+1

테스트하기 전에 사용자를 그룹에 추가 한 다음 로그 오프하고 다시 로그온 했습니까? – mellamokb

+0

@mellamokb : 예, 클라이언트 연결을 서버에 로그 오프했습니다. –

+1

내가 아는 바로는, 그것은 잘 작동해야합니다. 다른 방법으로 그룹 구성원 자격이 올바른지 확인할 수 있습니까? 서버의 폴더에 대한 설정 권한을 설정하고 파일을 추가/제거하려고합니다. – mellamokb

답변

1

두 가지 문제가있었습니다.

1) 부모 web.config에서 다른 roleManager를 사용하도록 설정 한 것으로 나타났습니다.

<roleManager enabled="true" defaultProvider="SqlRoleManager">... 

내 사이트의 경우 Windows 작업을 다시 수행하려면 roleManager를 지워야했습니다.

<roleManager enabled="false" /> 

2) 사용자를 그룹에 추가 할 때 즉각적인 영향이없는 것 같습니다. mellamokb (감사합니다!)의 제안에 따라 로그온/로그 오프했습니다. 그것은 아무런 차이를 만들지 못했지만 정확한 해결책을 지적했습니다. 내 웹 사이트를 재활용. 시간이 초과 된 자격 증명 캐시가 있다고 가정하고 웹 사이트를 재활용하면이를 지울 것입니다.

0

내 경우 ,,, 내 web.config에서 roleManager ...를 삭제해야합니다.