ServiceStack AuthProvider PreAuthenticate无限循环

时间:2017-11-02 16:47:41

标签: authentication servicestack

我试图通过URL上的API密钥编写一个简单的自定义AuthProvider进行身份验证。我的代码基于BasicAuthProvider

然而,我发现,在进行任何更改之前,运行BasicAuthProvider中的代码,每次 authService.Post( authService.Post时,都会递归调用 PreAuthenticate()方法。 )方法被称为:

    public void PreAuthenticate(IRequest req, IResponse res)
    {
        SessionFeature.AddSessionIdToRequestFilter(req, res, null); 

        var userPass = req.GetBasicAuthUserAndPassword();
        if (userPass != null)
        {
            var authService = req.TryResolve<AuthenticateService>();
            authService.Request = req;

            //** Post calls PreAuthenticate again **//

            var response = authService.Post(new Authenticate
            {
                provider = Name,
                UserName = userPass.Value.Key,
                Password = userPass.Value.Value
            });
        }
    }

有人可以解释为什么会这样吗?

感谢。

0 个答案:

没有答案