2010-04-29 79 views

回答

23

我發現到目前爲止最好的例子是Dominick Baiers StarterSTS。

即使您不使用它作爲STS,網站上的教程也是一個很好的起點。沒有專門的ASP.NET MVC教程,但我的工作方式與ASP.NET WebForms相同。

總之

所以......

  1. 下載WIF和WIF SDK - http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx
  2. 下載StarterSTS - http://startersts.codeplex.com/
  3. 按照STS介紹視頻 - https://identity.thinktecture.com/download/startersts/v1/StarterSTS_InitialSetup.wmv
  4. 按照ASP.NET教程 http://identity.thinktecture.com/download/starterSTS/v1/StarterSTS_FederatingWebApps.wmv
  5. 在VS 2010中創建一個新的MVC項目
  6. 在項目上單擊鼠標右鍵,選擇「添加STS參考」,然後按照與WebForms應用程序相同的嚮導步驟進行操作。 (到WIF信息添加到您的web.config文件。)

現在,當您嘗試登錄到你的MVC應用程序,你會使用StarterSTS身份提供者,它會記錄你..

如果你在你的任何控制器方法調試你現在會看到你有一個WIF「ClaimsPrincipal」(實現IPrincipal的,所以是向後兼容)

有一點要注意的是,只有教程真的覆蓋認證。

爲了能夠從MVC應用程序註銷...

增加提及Microsoft.IdentityModel

(「已知」的錯誤是,它並沒有在VS2010添加露面參考對話框,所以你必須直接在C:\ Program Files \ Reference Assemblies \ Microsoft \ Windows Identity Foundation \ v3.5 \ Microsoft.IdentityModel.dll)中引用dll。

在模板化的MVC AccountControllers LogOff方法中,您現在可以致電...

WSFederationAuthenticationModule.FederatedSignOut(null, new Uri("https://RP/")); 

其中RP是您自己的基於MVC的依賴方的URI。

完成所有設置後,使用另一個STS(如ADFS(Active Directory聯合身份驗證服務))很容易。 (因爲除了重新配置應用程序以使用它以外,您無需執行任何操作)。

作爲一個附註,更多的屏幕演職人員可以是found here

希望這會有所幫助。這都是一個雷區:-)

+0

這是一個偉大的職位,感謝分享。 – Paul 2010-12-23 15:46:20

+0

+1與VS2010和豐富的職位指出錯誤!乾杯 – Craig 2011-11-30 19:29:40

2

一旦你瞭解WIF如何與ASP.NET的WebForms,看看後here以創建ASP.NET MVC

相關問題