·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 【原创】单点登录

【原创】单点登录

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

【原创】单点登录

一、介绍

主站下有多个子系统,每次登录主系统,跳转到子系统时,又需要重新登录;

子系统与主系统都有各自的用户信息表;各个系统的用户角色、权限也各不相同;

二、目的

每次登录主系统,跳转到子系统后,不用再重新输入用户名、密码,进行登录;也就是“单点登录”;

三、主要思路

(1)跨子域共享cookie(主站:www.A.com 子站:test.A.com →设置cookie的Domain=“.A.com” 就可以实现cookie共享)

(2)分布式session(暂未涉及,下班研究下~~)

四、具体实现

思路一(跨子域共享cookie):在任意一个系统登录成功后,将用户名保存到cookie中;当用户进入其他系统时,首先判断cookie中的用户名是否为空;如果为空,则跳转到当前系统的登录页面;不为空则根据用户名,查询出当前系统的用户信息,实现自动登录;

思路二(分布式session):创建单独的用户信息数据库,统一的登录入口;在任意一个系统登录成功后,将用户的详细信息存储到session中;当用户进去其他系统时,首先判断session中的用户信息是否为空;如果为空,则跳转到登录页面,登录成功后再返回当前页面;如果不为空则显示当前页面内容;

----用户信息数据库表结构:系统分类表、用户基本信息表、角色类型表、权限表、用户角色表

->系统分类表:系统编号、系统名称

      ->用户基本信息表:用户的基本字段~~

      ->角色类型表:角色编号、角色名称、所属系统编号

      ->权限表:用户编号、系统编号、权限值

      ->用户角色表:用户编号、所属角色编号

当用户再任一系统登录时,可以根据用户名、密码、系统编号得到当前用户的基本信息以及当前系统的角色、权限信息等

------欢迎各位大神指点,小弟不胜感激!