C#ASP.NET单一登录如何实现?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我负责为我们的客户实施单点登录,作为我们下一个版本的一部分。流程如下所示:

  1. 用户使用学校提供给学生的学生证/密码登录其学校的主要门户系统。
  2. 用户点击链接到我公司的产品。
  3. 用户会自动进入仪表板页面,就好像他们刚刚通过我们网站上的登录表单登录一样。

因此,有两种机制可以将用户认证到我们的网站中:

  1. 访问我们产品的主页,并使用我们存储在本地系统中的电子邮件/密码登录。
  2. 在学生已经使用学号和密码登录学校主系统的情况下使用单点登录。

如果我们的产品的实现是在ASP.NET中(而不是Java / Ruby),我们应该使用CAS,JOSSO还是其他第三方单点登录产品?或者是否有可用于.NET环境的东西,对于我们来说,作为.NET公司会更简单?

提问于
用户回答回答于

有多种选择可以为.NET应用程序实现SSO。

在线查看以下教程:

单点登录基础知识

http://www.codeproject.com/Articles/429166/Basics-of-Single-Sign-on-SSO

GaryMcAllisterOnline:ASP.NET MVC 4,ADFS 2.0和第三方STS集成(IdentityServer2)

http://garymcallisteronline.blogspot.com/2013/01/aspnet-mvc-4-adfs-20-and-3rd-party-sts.html

第一个使用ASP.NET Web窗体,而第二个使用ASP.NET MVC4。

如果要求允许使用第三方解决方案,请考虑OpenID。有一个名为DotNetOpenAuth的开源库。

有关更多信息,请阅读MSDN博客文章使用Universal Providers将OpenAuth / OpenID与现有的ASP.NET应用程序集成

用户回答回答于

我会选择 IdentityServer3(.NET 4.6或更低版本)或IdentityServer4 (与Core兼容)。

可以在应用中重新使用现有的用户存储,并将其插入IdentityServer的用户存储。然后,客户端必须指向IdentityServer作为开放标识提供程序。

扫码关注云+社区