单点登录教程(二)——同父域单点登录
现在需求改了,国家规定凡在手机购票了可以到广州塔和北京省博物馆。虽然广州和北京是不同城市,但是同一个国家。我们可以不用到广州塔下买票,也不用到北京去买票,但能随时随地买票。
同父域单点登录
http://guangzhouta.yanhui.com/ssm_crud1/index
http://senbowuguan.yanhui.com/ssm_crud2/index
http://checkcookie.yanhui.com/sso_crud3/doLogin
@RequestMapping(value="/doLogin")
public ModelAndView doLogin(String gotoUrl, String username, String password,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
boolean ok = _ssoUtil.checkLogin(username, password);
if(ok){
Cookie cookie = new Cookie("sso_cookie", "xxoo");
cookie.setDomain(".yanhui.com");
cookie.setPath("/");
response.addCookie(cookie);
}
mav.setViewName("redirect:"+gotoUrl);
return mav;
}
@ResponseBody
@RequestMapping(value="/checkCookie")
public String checkCookie(String cookieName, String cookieValue){
boolean ok = _ssoUtil.checkCookie2(cookieName, cookieValue);
String result="0";
if(ok){
result="1";
}
return result;
}
doGet方法
public static String doGet(String url, String cookieName, String cookieValue){
StringBuffer sb = new StringBuffer();
HttpURLConnection httpURLConnection = null;
try {
URL urls = new URL(url+"?cookieName="+cookieName+"&cookieValue="+cookieValue);
httpURLConnection = (HttpURLConnection) urls.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.connect();
InputStream in = httpURLConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
String temp = null;
while((temp=br.readLine())!=null){
sb.append(temp);
}
br.close();
isr.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if(httpURLConnection!=null){
httpURLConnection.disconnect();
}
}
return sb.toString();
}
注意:需要本文资源可关注微信号艳辉网 回复关键字‘java150’获取。