sso 单点登录系统
主要解决多系统同意登陆,基础登陆都系统使用。
使用技术(没有页面,只有接口)springMVC spring + j\redis
检查用户信息是否存在:
接口查询数据库是否由该数据 返回true或者false
注册用户:
接口接收数据,写入数据库
用户登录:
接口接收登陆数据,先上数据库查询,如果登陆成功,则生成唯一ticket令牌,然后将令牌为key,user的json数据为value,存入redis
通过ticket查询用户是否登录
接口接收ticket并查询redis,获取user对象,重新设置存活时间,返回user实体
前台开发(因为是跨域调用所以sso系统需要支持jsonp,配置解析字符集)
前台注册,前台处理service调用sso系统注册,返回状态码。前台返回注册信息,页面406错误。
406错误原因:springMVC以.html请求返回Text/html格式,我们希望返回json格式。所以前台系统前端控制器添加一个拦截/service,单都拦截sso的请求。
登陆访问前台登陆,然后service调用sso系统登陆系统,查询并缓存,返回ticket给前台。前台判断ticket,存储到cookie中,并给前台返回成功数据。遇到问题:nignx转发使用域名转发。
购物车系统(联合索引,左开始又不限制)
添加购物车-登陆保存在购物车中-持久化
-未登录保存cookie中-登陆合并kookie-持久化
接口
详情页添加商品到购物车接口
接口接受cart对象,然后根据userid+itemid查询是,存在数量相加,返回false,不曾再 新增,返回true
根据userid数据获取用户list<cart>数据
用户查看自己的cart-通过userid数据库获取list,展示给前台。
用户在购物车跟新商品数量
接口接收useruid+itemId+num - 后台查询,如果有则更新数量
购物车页面删除某个商品
接口接收userid和itemid,后台直接删除
前段系统
添加拦截器验证登陆为用户实现tocket绑定到当前线程user
前台添加商品购物车,接受itemid+num,访问service(后台查询item拼接顺序),然后从thredlocal中获取userid,调用购物车系统,返回页面
显示购物车所有商品 空参接受,从thredlocal获取userid,然后访问 购物车查询所有系统
前台跟新购物车数量 接受itemid和num,当前线程获取userid,请求 购物车系统
前台删除购物车商品 接受itemid,获取userid ,请求 购物车接口
未登录的购物车
添加购物车 获取itemid + num,获取user失败,则cookie获取购物车key,redis查询,便利 和商品对比,如果有则修改数量,没有则添加商品
显示购物车数量 如果user获取失败,则获取cookie中的key,redis查询数据转换为list返回
删除购物车种商品 获取user失败,则获取cookie中key,redis查询数据,便利对比,删除
使用技术(没有页面,只有接口)springMVC spring + j\redis
检查用户信息是否存在:
接口查询数据库是否由该数据 返回true或者false
注册用户:
接口接收数据,写入数据库
用户登录:
接口接收登陆数据,先上数据库查询,如果登陆成功,则生成唯一ticket令牌,然后将令牌为key,user的json数据为value,存入redis
通过ticket查询用户是否登录
接口接收ticket并查询redis,获取user对象,重新设置存活时间,返回user实体
前台开发(因为是跨域调用所以sso系统需要支持jsonp,配置解析字符集)
前台注册,前台处理service调用sso系统注册,返回状态码。前台返回注册信息,页面406错误。
406错误原因:springMVC以.html请求返回Text/html格式,我们希望返回json格式。所以前台系统前端控制器添加一个拦截/service,单都拦截sso的请求。
登陆访问前台登陆,然后service调用sso系统登陆系统,查询并缓存,返回ticket给前台。前台判断ticket,存储到cookie中,并给前台返回成功数据。遇到问题:nignx转发使用域名转发。
购物车系统(联合索引,左开始又不限制)
添加购物车-登陆保存在购物车中-持久化
-未登录保存cookie中-登陆合并kookie-持久化
接口
详情页添加商品到购物车接口
接口接受cart对象,然后根据userid+itemid查询是,存在数量相加,返回false,不曾再 新增,返回true
根据userid数据获取用户list<cart>数据
用户查看自己的cart-通过userid数据库获取list,展示给前台。
用户在购物车跟新商品数量
接口接收useruid+itemId+num - 后台查询,如果有则更新数量
购物车页面删除某个商品
接口接收userid和itemid,后台直接删除
前段系统
添加拦截器验证登陆为用户实现tocket绑定到当前线程user
前台添加商品购物车,接受itemid+num,访问service(后台查询item拼接顺序),然后从thredlocal中获取userid,调用购物车系统,返回页面
显示购物车所有商品 空参接受,从thredlocal获取userid,然后访问 购物车查询所有系统
前台跟新购物车数量 接受itemid和num,当前线程获取userid,请求 购物车系统
前台删除购物车商品 接受itemid,获取userid ,请求 购物车接口
未登录的购物车
添加购物车 获取itemid + num,获取user失败,则cookie获取购物车key,redis查询,便利 和商品对比,如果有则修改数量,没有则添加商品
显示购物车数量 如果user获取失败,则获取cookie中的key,redis查询数据转换为list返回
删除购物车种商品 获取user失败,则获取cookie中key,redis查询数据,便利对比,删除