方式一 多次登录
MVC Controller 的 sso 方法
@RequestMapping(value = "ssoLogin.do")
public String sso(String userName, String password,HttpServletRequest request, HttpServletResponse response) {
AuthUser user = userDao.getUserByname(userName);
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
//获取当前的Subject
Subject currentUser = SecurityUtils.getSubject();
currentUser.login(token);
currentUser.getSession("true").setAttribute("userName",userName);//shrio session
currentUser.getSession().setAttribute("loginName",userName);//http session
return "xxx"; //页面
}
调用
String path = "osdp";//request.getContextPath();//项目地址
String basePath = request.getScheme() + ":" + request.getServerName() + ":" + request.getServerPort() + path;//url
String userName = UserHolder.getUserName();
String password = UserHolder.getPassword();
String data = "userName=" + userName + "&password=" + password;
return "redirect:" + basePath + "/ssoLogin" + "?" + data;
方式二 自定义Token令牌
MVC Controller 映射 sso 方法
/**
* 单点登录(如已经登录,则直接跳转)
* @param userCode 登录用户编码
* @param