总结一个简单的sso单点登录实现方法,先上一张思路图:
思路不复杂,在一个Filter中如下:
String baseUrl="你的基础系统路径";//比如是120.24.270.95:8080
String host=request.getHeader("HOST");
String url=request.getRequestURI();
if(request.getQueryString()!=null){
url=url+"?"+request.getQueryString();
}
/***********单点登录***********/
if(session.getAttribute(session_user_KEY)==null){//获取session中用户的登录信息
String sso=request.getParameter("sso");
if(sso!=null && sso.equals("1")){//sso标记
String userName=request.getParameter("userName");
String password=request.getParameter("password");
ssoLoginSrv.login(userName, password, request);//如果有sso标记,获取参数中的用户名和密码,判断是否合法,合法则可免登。
}else{ /*加上sso标志*/
if(ex.indexOf("?&#