ServiceStack CredentialAuthProvider超过用户/密码

时间:2012-09-27 19:48:19

标签: servicestack

我想使用自定义身份验证提供程序,但我不知道如何使标准Auth资源处理更多用户和密码作为参数。

可以这样做吗?

1 个答案:

答案 0 :(得分:3)

取决于您想要做什么,如果您想通过继承CredentialsAuthProvider来创建自己的自定义身份验证提供程序,您可以通过IHttpRequest对象访问不同的请求参数:

public virtual bool TryAuthenticate(IServiceBase authService, 
    string userName, string password)
{
    var httpReq = authService.RequestContext.Get<IHttpRequest>();
    var fromQueryString = httpRequest.QueryString["CustomField"];
    var fromPostData = httpRequest.FormData["CustomField"];
    var fromEither = httpRequest.GetParam("CustomField"); //Ext method
}

以下是一些其他相关问题和答案,显示了自定义ServiceStack内置Auth的不同方法: