使用独立的单点登录应用程序来做单点登录,这样可扩展性和安全性会更好。
1:用户访问App1的某个URL,App1通过cookie(必须加密)去单点登录服务器验证当前用户是否已经登录,如果没有登录,则跳转到单点登录应用的登录页面,并传递用户访问的URL。
2:用户提交用户名和密码,单点登录应用验证登录成功后跳转回App1,并传递token和sign(用于防止token被篡改)。
3:App1将返回的token和sign通过接口去单点登录应用进行验证,如果验证成功跳转用户访问的URL。
4:用户退出App1,清空登录验证的cookie。
那么即使新增一个app2或app3,照样可以支持单点登录。以下是单点登录的流程图:
[img]http://dl.iteye.com/upload/attachment/0069/4029/3aaecc32-148d-3211-afbd-a6df3dfb7e42.jpg[/img]
1:用户访问App1的某个URL,App1通过cookie(必须加密)去单点登录服务器验证当前用户是否已经登录,如果没有登录,则跳转到单点登录应用的登录页面,并传递用户访问的URL。
2:用户提交用户名和密码,单点登录应用验证登录成功后跳转回App1,并传递token和sign(用于防止token被篡改)。
3:App1将返回的token和sign通过接口去单点登录应用进行验证,如果验证成功跳转用户访问的URL。
4:用户退出App1,清空登录验证的cookie。
那么即使新增一个app2或app3,照样可以支持单点登录。以下是单点登录的流程图:
[img]http://dl.iteye.com/upload/attachment/0069/4029/3aaecc32-148d-3211-afbd-a6df3dfb7e42.jpg[/img]