文档详情

SSO 详细操作.pdf

发布:2017-06-02约字共52页下载文档
文本预览下载声明
SSO:单点登录 1、使用Cookie解决单点登录 技术点: 1、设置Cookie 的路径为setPath(/).即Tomcat 的目录下都有效 2、设置Cookie 的域setDomain(.);即,或是有效。即跨域。 3、设置Cookie 的时间。即使用户不选择在几天内自动登录,也应该保存Cookie 以保存在当前浏览器没有关闭的情况下有效。 4、使用Filter 自动登录。 实现步骤: 1、首先要准备出几个虚拟主机并配置hosts文件,即本机DNS。 配置虚拟主机,主要通过修改tomcat_home/conf/server.xml文件完成: 增加几个Host节点,通过Cookie实现自动登录,必须配置的虚拟主页满足,即主域名必须保持一致。 2、先在bbs (或是mail)虚拟目录下,开发一个可以自动登录的程序,使用Filter: 1、登录的主页如下: %@ page language=java import=java.util.* pageEncoding=UTF-8% %@ taglib uri=/jsp/jstl/core prefix=c% html head /head body p在同一台服务器上,多个站点自动登录:%=session.getId( %/p c:if test=${empty sessionScope.user} form name=f method=post action=c:url value=/login/ Name:input type=text name=name/br/ Pwd:input type=text name=pwd/br/ input type=checkbox name=chk value=7一周内自动登录br/ input type=submit value=登录/ /form /c:if c:if test=${not empty sessionScope.user} 欢迎你:${user}。a href=c:url value=/loginout/安全退出/a /c:if br/ 相关站点: (只要在一边登录成功,即可以自动登录到另一个程序)br/ a href=:7777/abr/ a href=:7777/abr/ /body /html 2、登录的Servlet程序如下: /** * 用户登录 */ public class LoginServlet extends HttpServlet{ public void doGet(HttpServletRequest req, HttpServletResponse resp throws ServletException, IOException { doPost(req, resp); } public void doPost(HttpServletRequest req, HttpServletResponse resp throws ServletException, IOException { String nm = req.getParameter(name); String pwd = req.getParameter(pwd); String chk = req.getParameter(chk); //是否选中了7天自动登录 String forward = /index.jsp; if(nm!=null !nm.trim().equals( nm.startsWith(it //用户名是it开始,且密码是pwd开始的可以登录 pwd !=null !pwd.trim().equals( pwd.startsWith(pwd { System.err.println(登录成功。。。。。); forward = /jsps/welcome.jsp; //无论如何,都要设置cookie,如果没有选择自动登录,则只在当前页面的跳
显示全部
相似文档