当自定义凭据身份验证提供程序的身份验证失败时,返回自定义HTTP响应代码

激烈

我知道当使用自定义身份验证提供程序(如以下代码)时,我可以返回自定义响应:

从ServiceStack身份验证返回自定义身份验证响应对象

我只是想知道是否有一种方法可以返回自定义HTTP响应代码。

例如,当身份验证失败时,我想发送另一个HTTP响应代码,而不是401未经授权的错误,以详细说明失败的原因。例如,当帐户被锁定时,我将发送错误代码XYZ!

public class MyCredentialsAuthProvider : CredentialsAuthProvider
{
    public override object Authenticate(ServiceStack.ServiceInterface.IServiceBase authService, IAuthSession session, Auth request)
    {
        //let normal authentication happen
        var authResponse = (AuthResponse)base.Authenticate(authService, session, request);

        //return your own class, but take neccessary data from AuthResponse
        return new
            {
                UserName = authResponse.UserName,
                SessionId = authResponse.SessionId,
                ReferrerUrl = authResponse.ReferrerUrl,
                SessionExpires = DateTime.Now
            };

    }
}

在一个尝试中,我找到了一种在该函数中返回自定义HTTP代码的方法。我返回例如:

return new ServiceStack.HttpError(423, "Locked");

我不确定这是否正确

神话

您可以返回错误响应(例如HttpError)以返回自定义错误,但是对于成功的响应,您应该返回AuthenticateResponse类型,因为这是所有客户端/服务使用者所期望的类型(以及其他AuthResponse筛选器和装饰器)。如果要返回其他信息,AuthenticateResponse则应在其MetaDictionary属性中返回它们

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel自定义身份验证

来自分类Dev

在ServiceStack中注册自定义凭据身份验证提供程序

来自分类Dev

如何使用Windows身份验证和自定义角色提供程序设置OWIN

来自分类Dev

使用ServiceStack返回自定义身份验证响应

来自分类Dev

ASP.NET Identity外部身份验证提供程序自定义图标

来自分类Dev

未调用自定义身份验证提供程序

来自分类Dev

具有Spring Security和Java Config的自定义身份验证提供程序

来自分类Dev

自定义ServiceStack身份验证

来自分类Dev

使用Backfire时如何使用自定义登录凭据对用户进行身份验证?

来自分类Dev

OWIN身份验证和自定义响应

来自分类Dev

当包含自定义身份验证提供程序时,Web应用程序显示错误

来自分类Dev

Laravel自定义身份验证

来自分类Dev

自定义身份验证提供程序未称为Spring Security

来自分类Dev

自定义身份验证提供程序随每个请求获得呼叫

来自分类Dev

Django,自定义身份验证登录。身份验证失败时如何显示错误消息?

来自分类Dev

ArgumentNullException与ServiceStack中的自定义身份验证提供程序

来自分类Dev

自定义git凭据帮助程序无法在Windows上进行身份验证

来自分类Dev

JMeter自定义身份验证

来自分类Dev

如何自定义Django rest框架中的[未提供身份验证凭据]错误消息

来自分类Dev

自定义身份验证提供程序中的Symfony2 ContextErrorException

来自分类Dev

Django身份验证自定义

来自分类Dev

具有Windows身份验证的自定义角色提供程序

来自分类Dev

Symfony自定义身份验证提供程序失败消息

来自分类Dev

具有自定义身份验证提供程序的MobileIron SSO

来自分类Dev

对Firebase的多个自定义身份验证请求失败

来自分类Dev

ServiceStack-自定义身份验证响应

来自分类Dev

Firebase-身份验证自定义令牌错误身份验证/网络请求失败

来自分类Dev

如何将自定义对象从自定义身份验证提供程序传递到控制器?

来自分类Dev

使用 Devise,如何自定义失败的身份验证?

Related 相关文章

  1. 1

    Laravel自定义身份验证

  2. 2

    在ServiceStack中注册自定义凭据身份验证提供程序

  3. 3

    如何使用Windows身份验证和自定义角色提供程序设置OWIN

  4. 4

    使用ServiceStack返回自定义身份验证响应

  5. 5

    ASP.NET Identity外部身份验证提供程序自定义图标

  6. 6

    未调用自定义身份验证提供程序

  7. 7

    具有Spring Security和Java Config的自定义身份验证提供程序

  8. 8

    自定义ServiceStack身份验证

  9. 9

    使用Backfire时如何使用自定义登录凭据对用户进行身份验证?

  10. 10

    OWIN身份验证和自定义响应

  11. 11

    当包含自定义身份验证提供程序时,Web应用程序显示错误

  12. 12

    Laravel自定义身份验证

  13. 13

    自定义身份验证提供程序未称为Spring Security

  14. 14

    自定义身份验证提供程序随每个请求获得呼叫

  15. 15

    Django,自定义身份验证登录。身份验证失败时如何显示错误消息?

  16. 16

    ArgumentNullException与ServiceStack中的自定义身份验证提供程序

  17. 17

    自定义git凭据帮助程序无法在Windows上进行身份验证

  18. 18

    JMeter自定义身份验证

  19. 19

    如何自定义Django rest框架中的[未提供身份验证凭据]错误消息

  20. 20

    自定义身份验证提供程序中的Symfony2 ContextErrorException

  21. 21

    Django身份验证自定义

  22. 22

    具有Windows身份验证的自定义角色提供程序

  23. 23

    Symfony自定义身份验证提供程序失败消息

  24. 24

    具有自定义身份验证提供程序的MobileIron SSO

  25. 25

    对Firebase的多个自定义身份验证请求失败

  26. 26

    ServiceStack-自定义身份验证响应

  27. 27

    Firebase-身份验证自定义令牌错误身份验证/网络请求失败

  28. 28

    如何将自定义对象从自定义身份验证提供程序传递到控制器?

  29. 29

    使用 Devise,如何自定义失败的身份验证?

热门标签

归档