我想使用自定义身份验证提供程序,但我不知道如何使标准身份验证内容更多地处理用户和密码作为参数。
这可以做到吗?
取决于你想要做什么,如果你想通过从 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 内置身份验证的不同方法: