【发布时间】:2017-04-06 09:09:20
【问题描述】:
我想将我的自托管 WCF 服务与凭据一起使用,因此我观看了一些教程如何做到这一点,我找到了从“UserNamePasswordValidator”类继承并覆盖 Validate 方法的解决方案。 这个类我可以在我的 App.config 中设置:
public class UNValidator : UserNamePasswordValidator
{
public UNValidator() : base()
{
}
public override void Validate(string userName, string password)
{
if (userName == "user" && password == "secret")
return;
throw new System.IdentityModel.Tokens.SecurityTokenException(
"Unknown Username or Password");
}
}
Validate 方法是无效的!? 我在我的服务器应用程序中使用 WCF 服务,当有人想要登录并输入错误时,服务器会崩溃。如何在不引发异常的情况下拒绝错误的用户登录?
任何帮助表示赞赏。
【问题讨论】:
-
如果为真则返回 - 因此没有错误。如果为 false,则不返回并抛出
new System.IdentityModel.Tokens.SecurityTokenException( "Unknown Username or Password");,您将在此处捕获并处理异常 -
会崩溃吗?还是会因为您附加了调试器而中断..
-
附加调试器时会崩溃,但没有调试器会崩溃。