0

? - 同じ MVC 4 ホステッド サービス スタック Web サービス内に複数の認証プロバイダーを持つことは可能ですか? 異なるレベル/タイプの認証を必要とする内部および外部サービスを利用する複数のエンドポイントを持つことになります。

URL に応じて異なる認証プロバイダーが使用されるように、ニーズに合わせていくつかのカスタム プロバイダーを最初に実装する必要があります。

4

1 に答える 1

1

はい。複数のプロバイダーを使用できます。次に、内部レベルと外部レベルを管理するために、さまざまなリソース (url) に対してさまざまな役割を持つことができます。

https://github.com/ServiceStack/SocialBootstrapApiサンプル プロジェクトをご覧ください。この例には、さまざまな認証プロバイダーが多数含まれています。各認証プロバイダーはパス /auth/{provider} に解決され、カスタム プロバイダーの IAuthProvider.Provider プロパティとビルドイン プロバイダーを使用してプロバイダーが解決されます。

使用する各認証プロバイダーを登録する必要があります。

//Register all Authentication methods you want to enable for this web app.            
Plugins.Add(new AuthFeature(
    () => new CustomUserSession(), //Use your own typed Custom UserSession type
    new IAuthProvider[] {
        new CredentialsAuthProvider(),        
        new TwitterAuthProvider(appSettings),  
        new FacebookAuthProvider(appSettings), 
        new DigestAuthProvider(appSettings),  
        new BasicAuthProvider(),               
        new GoogleOpenIdOAuthProvider(appSettings), 
        new YahooOpenIdOAuthProvider(appSettings),  
        new OpenIdOAuthProvider(appSettings),     
}));

次に、次のようなさまざまな URL にアクセスしてログインできます。

  • /認証/フェイスブック
  • /認証/ツイッター
于 2012-10-19T14:21:35.897 に答える