Spring SSO单点登录

电商网站SSO单点登录,点击购物车时,要验证用户是否已登录,如未登录,页面跳转至登录页面.
1.在MVC的XML文件中定义拦截器,定义要拦截器的路径,/cart/和/order/
2.编写拦截器类,直接继承HandlerInterceptor,重写3个方法,在第一个方法中编写业务逻辑,其中用户的信息,通过cookie的value值作为redis的key和用户的信息作为redis的value存到redis缓存中
3.第一步先判断是否有相应的cookie值,通过request.getcookie方法获得全部的cookie值,遍历cookie,通过equals方法,判断是否有需要的cookie,之后获取相应的cookie的value值,通过该值去redis中获取用户的信息
4.当用户点击登录页面时,由于使用HTTP协议,不能传输java对象,是能传输Jason串,前端和后端系统共5层结构,分别为前端controller,service,后端controller,service,mapper,在前端controller中获得用户输入的用户信息,封装到user对象中,传输给service层,通过URL,params跳转至后端controller层中,进行数据库的查询,是否有该数据,当确定有该数据时,后端service层中将该用户的信息作为redis的value,已项目名-ticket加当前时间戳-用户名,并使用MD5方法进行加密,作为redis的key,并将该redis的key回传给前端token,在前端service中将token作为cookie的value,用项目名-ticket作为cookie的key,使用response方法回传给浏览器,并设置cookie的存在时间,让在存在时间内用户下次访问不需要登录

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章