2

ServiceStack.UseCasesサンプルプロジェクトを見てください。認証サービスを呼び出した後、jsonserviceclientを使用してHelloRequestサービスを呼び出そうとしています。私が何をしても、失敗してNotFoundエラーメッセージが返されるようです。誰かが私が間違っていることを知っていますか?

   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() }
        ));
    }
}

私が本当に望んでいるのは、私が抱えている次の問題に対する良い解決策です。既存のユーザーデータベースとカスタム認証プロセスを備えた既存のシステムがあります。現在、servicestackを使用してシステムの機能をWebサービスとして公開しようとしています。私はbog標準のWebフォームを使用してプログラミングしているので、MVCの例はあまりうまく機能しません。.NETのWebフォームを使用して、クライアントの大多数でWebサービスへの発信者を認証できる特定のシナリオに最適なソリューションを探しています。

4

1 に答える 1

1

また、認証しようとしているサーバーで基本認証を有効にする必要があります。例については、 SocialBootstrapApiAppHostを参照してください。

Plugins.Add(new AuthFeature(
    () => new CustomUserSession(), //Use your own typed Custom UserSession type
    new IAuthProvider[] {
        new BasicAuthProvider(),                    //Sign-in with Basic Auth
    }));
于 2013-02-01T15:47:24.817 に答える