加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何将AD身份验证SSO与现有的Forms身份验证的Saas We

发布时间:2020-12-16 07:05:23 所属栏目:asp.Net 来源:网络整理
导读:我们在IIS 7.5公共服务器上使用Forms身份验证运行Saas ASP.NET 3.5 Web应用程序,该服务器具有受保护内容,适用于数千名用户.我们还有一些运行ASP.NET MVC 2的子应用程序. 用户名和密码存储在我们的数据库中,每个用户都附加了角色和组,并定义了权限和访问权限.
我们在IIS 7.5公共服务器上使用Forms身份验证运行Saas ASP.NET 3.5 Web应用程序,该服务器具有受保护内容,适用于数千名用户.我们还有一些运行ASP.NET MVC 2的子应用程序.

用户名和密码存储在我们的数据库中,每个用户都附加了角色和组,并定义了权限和访问权限.

现在我们已经被要求通过Active Directory进行简单的SSO登录,以便用户无需输入两次用户名和密码即可登录.这些用户将来自不同的网络和域.

从我们的服务器到LDAP服务器不应该发生用户“同步”.我们不确定是否需要与LDAP进行任何通信,因为所有用户都将在我们的系统中创建并在那里进行维护.表单身份验证将用于大多数用户.

从这里开始,我们不确定哪条路是最佳选择.对于我们的场景,什么是“最佳实践”方式?

解决方法

简单的答案是SAML.它被认为是“最佳实践”,许多大型SAAS提供商都支持它.

SAML协议定义了多个系统之间的单点登录流程.它使用证书在系统之间建立信任.您的应用程序接受包含来自其他系统的属性(用户ID,名称,电子邮件地址等)的断言.您的应用会将用户映射到您的用户商店.

在.NET世界中有几种选择.您可以找到一个实现SAML的库(ComponentSpace有一个)并将其挂钩到ASP.NET身份验证中.您可以使用Windows Identify Framework(WIF)创建自己的.这是WIF视频http://www.cloudidentity.com/blog/2010/06/23/ALL-WILL-BE-REVEALED-7-HOURS-RECORDINGS-FROM-THE-WIF-WORKSHOPS/的大量载荷.您可以尝试使用IdentityServer http://thinktecture.github.io/

根据应用程序的安全性,您可以选择使用简化方法从可信网络传递用户ID的简单选项.我见过允许用户ID通过URL参数或表单字段发送的应用程序.当然,这是非常不安全的,并且您承担更多风险,因为两个网络之间的信任不是以加密方式强制执行的.您可以通过检查引用者字符串或IP地址来缓解它(例如,如果您可以隔离公司网络的IP范围).但您仍然可以欺骗,因为任何用户都可以通过简单地替换HTTP请求中的用户ID来冒充他人.

它可能没有完全回答你的问题,但希望能指出你正确的方向.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读