我可以将 Windows Identity Foundation 3.5 与 .NET 4.5 一起使用吗?

Posted

技术标签:

【中文标题】我可以将 Windows Identity Foundation 3.5 与 .NET 4.5 一起使用吗?【英文标题】:Can I use Windows Identity Foundation 3.5 with .NET 4.5? 【发布时间】:2013-01-03 16:39:45 【问题描述】:

我希望为 SSO 改造构建一些可重复使用的组件。目前几乎所有应用程序都在 .NET 3.5 或 4.0 上,但所有新项目都在 .NET 4.5 上启动。

我知道 .NET 4.5 更改了很多 WIF,所以我的问题是:如果我创建一些针对 WIF 4.0 的可重用组件来混淆声明交互,那么 .NET 4.5 项目是否仍然可以使用这些针对以前 WIF 框架的组件?

【问题讨论】:

【参考方案1】:

(注意,我对版本编号仍然有些模糊,但我相信 WIF 直接从 1.0 跃升至 4.5;AFAIK 1.0 是 .NET Framework 之前的 .NET 3.5 和 4.0 的稳定版本4.5 版本。)

在 .NET 4.5 之前,所有 WIF 类型都存在于带外命名空间/程序集中,这些命名空间/程序集现已移入核心框架。因此,在 .NET 4.5 中,您当然可以引用 WIF 1.0 程序集并同时使用这两组类型;您只需要在引用它们时注意命名空间冲突。

实际上,使用 .NET 4.5 中的 WIF 1.0 程序集是唯一推荐的方法来处理涉及在 .NET 4.5 中生成的内部 WIF 类(一些证书和加密相关的类) )。

我建议将可重用组件构建到一个通用接口,并为 .NET 3.5/4.0(使用 WIF 1.0)和 .NET 4.5(使用 WIF 4.5)(总共 3 个程序集)提供不同的实现。

【讨论】:

偏离了轨道,最终回到了这个项目。我最终完全按照您对多个程序集的最后建议进行了操作。我有一个核心组件,然后是 3.5、4.0 和 4.5 的附加组件,总共 4 个组件。我有一些 MVC 的东西在 3.5 和 4.0 之间发生了变化,所以我不得不增加程序集计数,但通常你的计数是正确的。 A+ 好先生。

以上是关于我可以将 Windows Identity Foundation 3.5 与 .NET 4.5 一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何与 Windows 服务应用程序共享 MVC 5 Identity 2.0 身份验证(尤其是 SignInManager)?

Font 'C:WINDOWSFONTSmsyh.ttc' with 'Identity-H' is not recognized

HttpContext.Current.User.Identity.Name为Empty

使用 Windows Identity Foundation (STS) 的 WCF-Rest 安全性

我可以/应该将 Asp.Net Identity 与组织帐户一起使用吗?

mySQL workbench中定义identity(1,1)一直提示有错误是怎么回事?