정의 된 사용자/그룹 만 액세스 할 수 있도록 IIS 7에서 호스팅되는 wcf 서비스를 구성하는 방법.정의 된 그룹 또는 사용자가 제한하는 Windows 인증을 사용하여 IIS 7에서 호스팅되는 보안 WCF 서비스
기존 구성 :
<authentication mode="Windows"/>
<services>
<service name="MyService.Test" behaviorConfiguration="MyService.TestBehavior">
<endpoint address="" binding="wsHttpBinding" contract="MyService.ITest">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyService.TestBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
나는 권한의 Web.config 또는 파일이나 폴더의 파일 시스템 중 하나 (사용자 또는 그룹)를 구성하는 다음합니다.
netTcpBinding을 추가했습니다. 서비스 메서드에 [PrincipalPermission (SecurityAction.Demand, Role = "domain \ role")]을 추가하면 항상 액세스가 거부됩니다. 인터페이스의 서비스 메소드에만 추가하면 작동하지 않습니다. web.config에 뭔가를 추가해야합니까? –
단지'[PrincipalPermission (SecurityAction.Demand, Role = 'Role')]'- ** NOT ** ** Role = "domain \ role"만 사용하면됩니다 - Role = 'role'만 –
예! 제대로 작동하려면 다음 단계를 수행했습니다. - 기본 포트 808을 사용하는 NON-HTTP 활성화를 다시 설치했습니다. - web.config에 추가되었습니다. - IIS-IUSRS 용 폴더를 공유 함 (http://msdn.microsoft.com/en-us/library/ms751432.aspx 참조) - PrincipalPermission을 my에 추가했습니다. 암호. web.config에서 직접 권한을 변경할 수 있습니까? –