我想使用自定义身份验证提供程序,但我不知道如何使标准Auth资源处理更多用户和密码作为参数。
可以这样做吗?
答案 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的不同方法: