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

asp.net-mvc-3 – MVC中的SSO(单点登录)

发布时间:2020-12-16 00:08:08 所属栏目:asp.Net 来源:网络整理
导读:有没有人在MVC中实现signgle登录?任何人都可以给我任何MVC单点登录的例子. 解决方法 我已经在同一父域(app1.domain.com,app2.domain.com,…)上托管的多个ASP.NET MVC应用程序之间实现了一个SSO解决方案,方法是使用Forms Authentication并在其中设置cookie的
有没有人在MVC中实现signgle登录?任何人都可以给我任何MVC单点登录的例子.

解决方法

我已经在同一父域(app1.domain.com,app2.domain.com,…)上托管的多个ASP.NET MVC应用程序之间实现了一个SSO解决方案,方法是使用Forms Authentication并在其中设置cookie的 domain属性所有应用程序的web.config:
<forms 
   name="ssoauth" 
   loginUrl="/login" 
   protection="All"
   timeout="120"
   requireSSL="true"
   slidingExpiration="false">
   domain="domain.com" 
/>

当您设置cookie的域属性时,客户端浏览器会自动将此cookie发送到此域上托管的所有应用程序,并且能够自动对用户进行身份验证.

如果您想使用表单身份验证实现跨域SSO,您可以执行以下操作:

>用户导航到foo.com并登录.foo.com上托管的应用程序使用标准的表单身份验证,没什么特别的.
>用户决定转到bar.com并单击您创建的链接.此链接可能包含一个令牌参数,该参数将包含加密的用户名.这个encryption could be done使用机器键,看起来像这样:https://bar.com?token = ABC.
> bar.com上托管的应用程序接收请求,因为它使用same machine keys作为另一个应用程序,它能够获取decrypting the token并获取用户名.然后,它只需在本地发出身份验证cookie即可登录用户,并且用户将自动在bar.com中登录.

(编辑:李大同)

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

    推荐文章
      热点阅读