【发布时间】:2015-04-29 16:24:07
【问题描述】:
我通过重写 SecurityTokenService 制作了一个 STS,并使用 WCF 托管它。我还创建了一个依赖方和测试客户端。客户端成功重定向到 STS(如果我在 GetOutputIdentity 方法中放置断点,程序将停止)。现在我需要拒绝除一个角色之外的所有用户在我的 RP 中的访问。我该怎么做?她是我的配置:
protected override ClaimsIdentity GetOutputClaimsIdentity(ClaimsPrincipal principal,
RequestSecurityToken request,
Scope scope)
{
string authenticationType = principal.Identity.AuthenticationType;
var outputIdentity = new ClaimsIdentity(authenticationType);
outputIdentity.AddClaim(new Claim(ClaimTypes.Role, role));
outputIdentity.AddClaim(new Claim(ClaimTypes.Name, userName));
return outputIdentity;
}
依赖方配置:
<customBinding>
<binding name="secureBinding">
<security authenticationMode="IssuedToken" requireDerivedKeys="false" >
<issuedTokenParameters>
<issuer address="http://localhost:1318/Services/SecurityTokenService.svc">
</issuer>
<issuerMetadata address="http://localhost:1318/Services/SecurityTokenService.svc/mex"></issuerMetadata>
</issuedTokenParameters>
</security>
<httpTransport></httpTransport>
</binding>
</customBinding>
【问题讨论】:
标签: wcf wif role sts-securitytokenservice