ASP.NET MVC SSO单点登录设计与实现

单点登录:

         单点登录全程为Single Sign On(简称SSO),是指多个系统通过一个用户授权中心处理,便可以在其他所有系统中得到授权而无需再次登录;实现方式有很多种,下面这个示例是通过cookie方式来实现的一个SSO。

相对于单系统登录,SSO需要一个独立的认证中心,只有认证中心能接受用户的用户名和密码等安全信息,其他系统不提供登录入口。

假如现在有多个系统进行集成,并且通过单点登录来进行管理,流程如下:

a)       用户访问系统1,系统1发现用户没有登录跳转至SSO认证中心并将自己的地址作为参数传输。

b)       SSO认证中心发现用户为登录,将用户引导至登录页面。

c)       用户输入用户名和密码提交登录申请。

d)       SSO校验用户信息,如验证通过将保存用户信息Cookie并跳转至最初的请求地址。

e)       当系统2去登录时,系统将跳转至认证中心,验证是否登录,已经登录,跳转至最初请求的地址。

 

每次在博客园登录的时候可以看到

https://passport.cnblogs.com/user/signin?ReturnUrl=http://i.cnblogs.com/EditPosts.aspx?opt=1

然后登录之后跳转的URL为ReturnURL

以后在各大网站登录的时候可以稍微注意一下,好多地方都会用到这个功能。

 

下面是该SSO使用过程:

源代码下载路径:https://github.com/zhaochengshen/SSO

 

posted @ 2017-07-07 11:25  Wǒ々啊申々  阅读(1514)  评论(4编辑  收藏  举报