1. 创建ego-sso-web单点登录系统
(1) 谈谈对象单点登录系统的理解
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应 用系统
(2) 描述实现单点登录的思路
实现单点登录,就是解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性。
因此,也就需要解决以下两点: 存储信任 验证信任
2. 用户名唯一性验证
(1) 谈谈用户名唯一性验证的实现思路
用户可能是根据用户名或邮件或电话号码注册的,为了保证唯一性,需要在数据库根据传入的字符串和type类型判断是否有这个人,如果有则返回的EgoResult的data属性设置为false说明该字符串不能用,如果没有则返回的EgoResult的data属性设置为true说明该字符串是可以使用的
(2) 描述用户为唯一性验证响应到前台的数据格式
3. 用户注册_用户登录
(1) 描述用户注册的实现思路
用户按要求填写好注册页面后,点击注册将数据提交到后台,执行数据库的添加操作,需要用户封装created和updated属性。如果添加成功则返回EgoResult携带者成功的信息,如果添加失败则EgoResult属性携带着失败的信息,返回到前台
(2) 描述实现用户注册响应到前台的数据格式
4. 获得用户登录状态
(1) 描述用户登录状态获取的实现过程
当用户登录成功后会在redis中添加一个键值对保存登录用户的json字符串形式的数据,而键的值又会存储在cookie中,当用户需要实现其他功能时需要先查看用户的登录状态,先获取到cookie中的对象的token的键的值,再根据键获取到用户对象的信息的字符串,通过JsonUtils将用户对象json形式的字符串转成用户对象
(2) 描述用户用户登录状态需要通过什么方式获取前端提交的什么参数
5. 安全退出
(1) 描述实现用户安全退出的思路
当用户点击退出时,会根据传入的token删除redis中存储的键值对,删除成功时EgoResult会携带成功的信息,如果删除失败EgoResult会携带失败的信息
(2) 说明发送用户安全退出,客户端需要提交什么参数?