2010-04-29 82 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

相关问题