【发布时间】:2016-05-20 17:41:56
【问题描述】:
我有一个带有自定义用户名密码验证器的安全 WCF 服务。经过相当多的努力,一切终于正常了。我只有最后一个问题。每当我抛出异常以表明用户的登录凭据不正确时,它都会被转换为 MessageSecurityException 并显示消息“附加信息:从另一方收到不安全或不正确安全的故障。有关故障代码,请参阅内部 FaultException 和详细。”
如果我最初抛出一个 FaultException,内部异常将包含我打算让消费者看到的消息(“未知用户名或错误密码”)。如果抛出任何其他类型的异常,则内部异常实际上只是非描述性通用外部异常的副本。
我真的希望顶级异常包含“未知用户名或密码错误”消息。我什至尝试用所需的消息抛出我自己的 MessageSecurityException ,但即使这样也没有用。有谁知道如何从我的验证器中抛出异常,以使外部异常包含我希望消费者看到的消息?
【问题讨论】: