相关疑难解决方法(0)

使用自定义ClientCredentials的WCF身份验证:要使用的clientCredentialType是什么?

我不得不放弃基本的WCF UserName/Pwd安全性并实现我自己的自定义客户端凭据,以保存超出默认提供的更多信息.

我参与了这篇MSDN文章,但我遗漏了一些东西,因为它不起作用.

首先,我有一些自定义ClientCredentials,它们提供自定义的ClientCredentialsSecurityTokenManager:

public class CentralAuthCredentials : ClientCredentials
{
    public override System.IdentityModel.Selectors.SecurityTokenManager CreateSecurityTokenManager()
    {
        return new CentralAuthTokenManager(this);
    }
}

public class CentralAuthTokenManager : ClientCredentialsSecurityTokenManager
{
    private CentralAuthCredentials credentials;

    public CentralAuthTokenManager(CentralAuthCredentials creds) : base(creds)
    {
        this.credentials = creds;
    }

    public override SecurityTokenProvider CreateSecurityTokenProvider(SecurityTokenRequirement tokenRequirement)
    {
        if (this.IsIssuedSecurityTokenRequirement(tokenRequirement) || tokenRequirement.TokenType == CentralAuthToken.TOKEN_TYPE)
            return new CentralAuthTokenProvider(credentials.UserId, credentials.UserPassword, credentials.ImpersonateId, credentials.LoginType);
        else
            return base.CreateSecurityTokenProvider(tokenRequirement);
    }

    public override SecurityTokenAuthenticator CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, out SecurityTokenResolver outOfBandTokenResolver)
    {
        outOfBandTokenResolver = null;
        if (this.IsIssuedSecurityTokenRequirement(tokenRequirement) || tokenRequirement.TokenType == …
Run Code Online (Sandbox Code Playgroud)

c# authentication wcf web-services token

25
推荐指数
1
解决办法
2万
查看次数

标签 统计

authentication ×1

c# ×1

token ×1

wcf ×1

web-services ×1