首页新闻找找看学习计划

关于WCF安全验证中自定义验证返回友好的错误信息

0
[已解决问题] 解决于 2017-01-03 19:14
public class X509UserNameValidator: UserNamePasswordValidator
    {
        public override void Validate(string userName, string password)
        {
            try
            {
                if (string.IsNullOrEmpty(userName))
                    throw new ArgumentNullException("userName");
                if (string.IsNullOrEmpty(password))
                    throw new ArgumentNullException("password");

                if (userName != "msky" || password != "msky")
                    throw new SecurityTokenException("用户名或者密码错误!");
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw;
            }
        }
    }

这是重写的验证函数,客户端该如何获取错误信息的描述?,假如验证失败引发异常

WCF已经设置返回错误信息了

<serviceDebug includeExceptionDetailInFaults="true"/>

但是客户端捕获时还是:

从另一方收到未进行安全处理或安全处理不正确的错误。有关错误代码和详细信息,请参见内部 FaultException。

MSky的主页 MSky | 菜鸟二级 | 园豆:436
提问于:2017-01-03 11:55
< >
分享
最佳答案
0

方法上加个FaultContract,然后自己加下处理,应用端catch下FaultException就可以拿到你服务端自定义的错误了。

奖励园豆:5
Daniel Cai | 专家六级 |园豆:10374 | 2017-01-03 18:34

一语中要害~~感谢您一直给予帮助,让我少走很多弯路

MSky | 园豆:436 (菜鸟二级) | 2017-01-03 19:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册