老项目的权限认证基于shiro做的,现在要切换到集团的登录页统一登录。遇到了一个http、https登录的问题。
当访问登录接口是,跳转到集团登录页。但是mvc的redirect 跳转http的链接没问题,跳转https的链接就会导致一直重复请求登录接口。
@RequestMapping(value = "${adminPath}/login", method = RequestMethod.GET)
public String e2Login(HttpServletRequest request,
HttpServletResponse response, Model model) {
logger.info("进入e2登录页,,,,,,,,,,duang duang duang");
User user = UserUtils.getUser();
// 如果已经登录,则跳转到管理首页
if (user != null) {
if (user.getId() != null && user.getId() > -1) {
return "redirect:" + Global.getAdminPath();
} else {
return "error/403";
}
} else {
String e2state = java.util.UUID.randomUUID().toString();
X3.Service.X3App x3app = new X3.Service.X3App(request, response);
x3app.SetCookie("e2state", e2state);
String targetUrl = Global.getConfig("e2.LoginUrl") + "?client_id="
+ Global.getConfig("e2.ClientId")
+ "&returnUrl="
+ Global.getConfig("e2.ReturnUrl");
model.addAttribute("targetUrl", targetUrl);
return "redirect:" + targetUrl;
}
}