我经常遇到这个错误,我的努力没有任何结果。错误 :
ID8030: 'type' 属性的值无法解析。请验证 'issuerNameRegistry type="Webapp1.TrustedIssuerNameRegistry,webapp1" 元素的 type 属性是否正确。
这是我的 TrustedIssuerNameRegistry 类:
namespace Webapp1
{
public class TrustedIssuerNameRegistery : IssuerNameRegistry
{
private string issuerName = string.Empty;
public override string GetIssuerName(SecurityToken securityToken)
{
if (securityToken != null)
{
X509SecurityToken x509Cert = securityToken as X509SecurityToken;
if (x509Cert != null && x509Cert.Certificate.SubjectName.Name == "CN=busta-ip1sts.com")
{
issuerName = x509Cert.Certificate.SubjectName.Name;
}
}
if (string.IsNullOrEmpty(issuerName))
{
throw new SecurityTokenException("Untrusted issuer.");
}
return issuerName;
}
public override string GetIssuerName(System.IdentityModel.Tokens.SecurityToken securityToken,
string requestedIssuerName)
{
return base.GetIssuerName(securityToken, requestedIssuerName);
}
}
}
这是我的 web.config 配置:
<system.identityModel>
<identityConfiguration>
<certificateValidation certificateValidationMode="PeerTrust" trustedStoreLocation="LocalMachine" revocationMode="Online"/>
<audienceUris>
<add value="http://localhost:7382/"/>
<add value="http://localhost:50466/"/>
</audienceUris>
<issuerNameRegistry type="Webapp1.WsFederationRequestValidator"></issuerNameRegistry>
</identityConfiguration>