场景:
登录使用shiro+oauth2进行控制;
前端有一个匿名可访问的显示文章的网页,文章下有点赞功能,但是点赞调用的接口的权限为登录可访问;
故出现页面点击点赞调用接口,看chrome后台会看到一共有两个请求,一个是调用点赞接口被拦截并返回302重定向,第二个是访问登录页面状态码为200,但是实际上并没有重定向到登录页面;
ajax无法进行转发和重定向;
解决方案:
后台解决方案是专门提供了一个接口,前端ajax传过来登录后需要自动跳转到的页面,接口内把该页面用shiro的逻辑存储起来,并用shiro的方法获取需要重定向的地址并回传给前端,前端用JS进行跳转完成登录。