一、分析
当用户提交订单时必须要求用户登录,可以使用拦截器来实现。
拦截器的处理流程:
1、拦截请求的url
2、从Cookie中取token
3、如果没有token,跳转到登录页面
4、取到token,需要调用sso系统的服务查询用户信息
5、如果用户Session已经过期,跳转到登录页面
6、如果用户Session没有过期,放行
二、Service
根据token取用户信息,如果取到返回User对象。如果取不到,返回null。
参数:Request、Response
返回值:User
三、拦截器
1、在SpringMVC中需要实现HandlerInterceptor接口。
2、在SpringMVC中配置拦截器。
四、处理登录回调
登录的url中包含回调的参数,参数就是回调的url,sso登录controller接受参数,当登录成功后跳转到回调的url。