【问题标题】:PreRegistrationHandler not failing on Task error codePreRegistrationHandler 在任务错误代码上没有失败
【发布时间】:2016-12-28 15:54:37
【问题描述】:

我正在尝试通过PreRegistrationHandler 对自定义数据属性进行验证。这在通过验证时效果很好。

但是,如果没有,它仍然会创建帐户。当验证不通过时,我返回一个任务结果代码,它应该会失败。

PreRegistrationHandler = (context, cancellationToken) =>
        {
            var passesvalidation = DoesPassValidation(context); // evals to false
            if (!passesvalidation)
            {
                return Task.FromResult(1); //should fail and not create account, but does anyway
            }
            return Task.FromResult(0); // passes
        }

是否有我应该使用的未记录的返回码?我在这里检查过:https://docs.stormpath.com/dotnet/aspnet/latest/registration.html#pre-registration-handler

【问题讨论】:

  • 好问题,顺便说一句。抱歉,它尚不可用;这是我的路线图。 PR 也总是被接受。 :)
  • 仅供参考:更新我的答案,因为这个功能已经发布。

标签: c# .net asp.net-web-api stormpath


【解决方案1】:

此功能自 Stormpath ASP.NET 插件的version 0.9.0 起有效。

PreRegistrationHandler 内部验证失败的语法是:

PreRegistrationHandler = (context, cancellationToken) =>
{
    var passesvalidation = DoesPassValidation(context); // evals to false
    if (!passesvalidation)
    {
        context.Result = new PreRegistrationResult()
        {
            Success = false,
            ErrorMessage = "No way, José!" // optional validation message
        };

        return Task.FromResult(1); // returned value doesn't matter
    }

    return Task.FromResult(0); // without setting context.Result, success is assumed
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2020-07-19
    • 2020-08-06
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 2020-08-18
    • 2015-02-08
    相关资源
    最近更新 更多