2013-02-01 2 views
2

ServiceStack.UseCases 예제 프로젝트를 살펴보십시오. 인증 서비스를 호출 한 후 jsonserviceclient를 사용하여 HelloRequest 서비스를 호출하려고합니다. 아무리해도 내가 찾지 못한 것은 실패하고 Not Found 오류 메시지를 반환하는 것 같습니다. 누구든지 내가 뭘 잘못하고 있는지 알아?Servicestack jsonserviceclient가 사용자 정의 인증을 사용하도록하는 방법

protected void Button1_Click(object sender, EventArgs e) 
    { 
     var baseUrl = Request.Url.GetLeftPart(UriPartial.Authority) + "/api"; 
     var client = new JsonServiceClient(baseUrl); 
     client.UserName = "admin"; 
     client.Password = "123"; 
     client.SetCredentials("admin", "123"); 
     client.AlwaysSendBasicAuthHeader = true; 
     client.Send(new HelloRequest { Name = "Mike" }); 
    } 

서버는 내가 정말하고 싶습니다 것은 내가 가지고있는 다음과 같은 문제에 대한 좋은 해결책이다

public class AppHost : AppHostBase 
{ 
    public AppHost() : base("Custom Authentication Example", typeof(AppHost).Assembly) { } 

    public override void Configure(Container container) 
    { 
     // register storage for user sessions 
     container.Register<ICacheClient>(new MemoryCacheClient()); 

     // Register AuthFeature with custom user session and custom auth provider 
     Plugins.Add(new AuthFeature(
      () => new CustomUserSession(), 
      new[] { new CustomCredentialsAuthProvider() } 
     )); 
    } 
} 

같이 구성된 서비스가 있습니다. 기존 사용자 데이터베이스와 사용자 지정 인증 프로세스가있는 기존 시스템이 있습니다. 나는 이제 서비스 기능을 사용하여 웹 서비스로 시스템의 기능을 폭로하려고 노력 중이다. 나는 MVC 예제가 나에게 너무 잘 작동하지 않도록 표준 웹 폼을 사용하여 프로그램을 작성한다. 나는 .NET에서 webforms를 사용하는 대다수의 고객이 내 webservice에 호출자를 인증 할 수있는 특정 시나리오에 가장 적합한 솔루션을 찾고 있습니다.

답변

1

시도하는 서버에서 Basic Auth를 사용하도록 설정해야합니다. 로 인증합니다. 예제는 SocialBootstrapApi AppHost를 참조하십시오

Plugins.Add(new AuthFeature(
    () => new CustomUserSession(), //Use your own typed Custom UserSession type 
    new IAuthProvider[] { 
     new BasicAuthProvider(),     //Sign-in with Basic Auth 
    })); 
+0

목 예는 CredentialsAuthProvider를 확장하는 클래스 인 CustomCredentialsAuthProvider을 사용하고 있습니다. 내가 그걸 없애고 BasicAuthProvider를 대신 사용해야한다고 말하는거야? –

+0

예, 대신 BasicAuthProvider에서 상속해야합니다. – mythz

+0

지금 완전히 충돌하는 것 같습니다. 오류 메시지 받기 내부 서버 오류. –

관련 문제