2012-09-27 3 views
4

사용자 정의 인증 공급자를 사용하고 싶지만 표준 Auth 항목이 더 많은 사용자와 암호를 매개 변수로 처리하도록 만드는 방법을 알지 못합니다.ServiceStack 사용자/암호 이상인 CredentialAuthProvider

이 작업을 수행 할 수 있습니까? 여기

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 
} 

는 다른 관련 질문입니다

답변

3

당신이 CredentialsAuthProvider에서 상속하여 사용자 정의 인증 공급자를 만들려면, 당신은 IHttpRequest 객체를 통해 다른 요청 PARAMS에 액세스 할 수 있습니다, 수행 할 작업을 따라 다름 다른 방법을 보여 대답은 ServiceStack의 내장에서 인증을 사용자 정의 :

+1

감사합니다. 나는 Custom Auth 전체를 버릴지도 모른다. 내 요구 사항은 매우 독특하고 사용자/암호의 개념은 실제로 내 모델과 구두 닦는 CustomAuth에서 이해할 수없는 해킹처럼 보입니다. 진짜 문제는 "세션 필요"서비스가 통과 할 때마다 세션 토큰을 유지하는 데 어려움을 겪고 있습니다. 처음에는 쿠키가 (안전하지 않은 것처럼 보였습니다.) 다음으로 인증 헤더가 클라이언트에 너무 무거워서 (http에 잠겨 있음) 보이는 것처럼 보였습니다. 그래서 모든 사람에게 인터페이스로 토큰을 추가 할 것입니다. DTO. – LiteWait

+0

예, 명시 적 토큰도 작동합니다. – mythz