wcf에 대한 사용자 지정 보안을 구현하고 싶습니다. ServiceAuthenticationManager를 사용하고 싶습니다. 그러나 메시지를 차단할 수있는 방법을 혼란스럽게합니다. 예외를 throw하려고 시도했지만 그 시간에 예외 정보를 얻을 수 없습니다. 나머지 호출에서 "요청 오류"와 "호출자가 비누 호출에서 인증되지 않았습니다."하지만 ServiceAuthenticationManager의 올바른 용도는 무엇입니까? 아니면 메시지를 차단해야합니까?WCF 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);
}
}
아마도 인증에 실패한 이유에 대해 의심스러운 고객에게 세부 정보를 제공해서는 안됩니다. 일반적으로 사용자 정의 오류가 필요하지 않습니다. – MickyD