Joh*_*ohn 6 authentication iis wcf web-config
我创建了一个使用Windows身份验证的WCF服务,并希望将其设置为只有在用户位于Windows组中时才能访问它.我目前在代码中使用以下属性来实现这一点
[PrincipalPermission(SecurityAction.Demand, Role = "Domain\MyGroup")]
Run Code Online (Sandbox Code Playgroud)
问题是我必须在每个方法上执行此操作并编译,如果我想更改组.有没有办法让我可以在配置文件和整个服务中设置有权访问的组?
我在配置文件中尝试了以下内容,但这似乎不起作用
<security>
<authentication>
<windowsAuthentication authPersistSingleRequest="true" enabled="true"/>
</authentication>
<authorization>
<add accessType="Allow" roles="Domain\MyGroup" />
</authorization>
</security>
Run Code Online (Sandbox Code Playgroud)
好吧,我想通了。我的配置文件设置如下
<security>
<authentication>
<windowsAuthentication enabled="true" />
</authentication>
<authorization>
<remove users="*" roles="" verbs="" />
<remove users="?" roles="" verbs="" />
<add accessType="Deny" users="?" />
<add accessType="Allow" roles="Domain\MyGroup" />
</authorization>
</security>
Run Code Online (Sandbox Code Playgroud)
还得设置
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
Run Code Online (Sandbox Code Playgroud)
在我的实现 WCF 合约的类上
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
Run Code Online (Sandbox Code Playgroud)
我想这意味着我使用 ASP 身份验证而不是 WCF,但我为我工作
| 归档时间: |
|
| 查看次数: |
2945 次 |
| 最近记录: |