【发布时间】:2017-12-14 08:22:54
【问题描述】:
我想为 wcf 实现我的自定义安全性,我想使用 ServiceAuthenticationManager,但我很困惑它如何阻止消息。我试图抛出异常,但那时我无法获得我的异常详细信息,我只是得到“请求休息调用中的错误”和soap调用中的“调用者未通过服务身份验证”,但我无法获取自定义错误错误消息,ServiceAuthenticationManager的正确用法是什么,或者我应该在哪里阻止消息?
public class MyAuthenticationManager : ServiceAuthenticationManager
{
public override ReadOnlyCollection<IAuthorizationPolicy> Authenticate(ReadOnlyCollection<IAuthorizationPolicy> authPolicy, Uri listenUri, ref Message message)
{
//throw new AuthenticationException("Credentials expired!");
throw new SecurityException("my custom message:Invalid authentication");
return base.Authenticate(authPolicy, listenUri,ref message);
}
}
【问题讨论】:
-
好吧,您可能不应该向可疑的客户详细说明身份验证失败的原因。一般不需要自定义错误
标签: c# wcf wcf-security