2012-10-17 100 views
0

? - 是否有可能在同一個MVC 4託管的服務棧Web服務中擁有多個身份驗證提供程序,我們將有多個端點利用需要不同級別/類型身份驗證的內部和外部服務。服務堆棧身份驗證

我需要開始實行一對夫婦自定義的供應商,以滿足我們的需求,我們使取決於URL,利用不同的身份驗證提供者,到目前爲止,我只發現提供了一個單一的定製身份驗證提供者的例子。

回答

1

是的。您可以使用多個提供商。然後你可以有不同的角色爲不同的資源(網址)來管理你的內部和外部的水平。

看看在https://github.com/ServiceStack/SocialBootstrapApi示例項目。這個例子有很多不同的身份驗證提供程序。每個身份驗證提供者解析到者正在使用您的自定義提供的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登錄

  • /認證/ Facebook的
  • /auth /中嘰嘰喳喳