- 浏览: 26018 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
cevin15:
jak&jin 写道 学习了,小强写的文章很不错~~ ...
使用过滤器Filter解决tomcat默认编码配置下的传值乱码 -
jak&jin:
学习了,小强写的文章很不错~~ ,保存起来再说
使用过滤器Filter解决tomcat默认编码配置下的传值乱码 -
aki319:
...
Html的一些小经验
看到篇博文,是关于单点登录的。
根据这个博文,自己动手尝试了一下这种单点登录解决方案,当然,这个解决方案有个缺陷,就是有个前提,应用必须能够共享cookie。
记下思路,作为备忘。
1、关于cookie的设置。cookie使用了setDomain和setPath,这样才能保证这个cookie能被所有应用共享。
2、用cookie来保存用户已登录的状态。在注销用户时,把该cookie设置过期,当然,也要使用setDomain和setPath。
3、使用了三个web project来做练习,一个作为登录验证系统,另外两个应用系统,代码基本相同。应用系统配置filter来过滤访问请求。
过滤器代码
登录验证系统的登录代码
引用
编写你自己的单点登录(SSO)服务:http://blog.csdn.net/javachannel/article/details/752437
根据这个博文,自己动手尝试了一下这种单点登录解决方案,当然,这个解决方案有个缺陷,就是有个前提,应用必须能够共享cookie。
记下思路,作为备忘。
1、关于cookie的设置。cookie使用了setDomain和setPath,这样才能保证这个cookie能被所有应用共享。
引用
1.可在同一应用服务器内共享方法:设置cookie.setPath("/");
2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com"),这个参数必须以“.”开始。 ;
2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com"),这个参数必须以“.”开始。 ;
2、用cookie来保存用户已登录的状态。在注销用户时,把该cookie设置过期,当然,也要使用setDomain和setPath。
3、使用了三个web project来做练习,一个作为登录验证系统,另外两个应用系统,代码基本相同。应用系统配置filter来过滤访问请求。
过滤器代码
public class UserFilter implements Filter { private static String loginUrl = ""; public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse resp = (HttpServletResponse) response; if (isCookieLogined(req)) { chain.doFilter(request, response); } else { String fromUrl = req.getRequestURL().toString(); resp.sendRedirect(loginUrl + "?fromUrl=" + fromUrl); } } public void init(FilterConfig filterConfig) throws ServletException { loginUrl = filterConfig.getServletContext().getInitParameter("loginUrl"); } private boolean isCookieLogined(HttpServletRequest req) { Cookie[] cookies = req.getCookies(); if(cookies!=null){ for (Cookie cookie : cookies) { if (cookie.getName().equals("user")&&cookie.getValue()!=null) { //TODO:此处应该调用auth的cookie验证方法 return true; } } } return false; } }
登录验证系统的登录代码
public class LoginServlet extends HttpServlet { private static final long serialVersionUID = -8212504322196762878L; private static ConcurrentMap<String, String> userMap = new ConcurrentHashMap<String, String>(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String fromUrl = request.getParameter("fromUrl"); request.setAttribute("fromUrl", fromUrl); request.getRequestDispatcher("index.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String user = request.getParameter("user"); if(this.isRegister(user)){ this.saveCookie(user, response); String fromUrl = request.getParameter("fromUrl"); response.sendRedirect(fromUrl); } } @Override /** * 初始化数据 */ public void init() throws ServletException { userMap.put("cevin", "cevin"); userMap.put("aki", "aki"); } private boolean isRegister(String user){ if(userMap.get(user)!=null){ return true; } return false; } private void saveCookie(String user, HttpServletResponse response){ Cookie cookie = new Cookie(CommonUtils.COOKIE_USER, user); cookie.setDomain(getServletContext().getInitParameter("domain")); cookie.setMaxAge(Integer.parseInt(getServletContext().getInitParameter("cookieLife"))); cookie.setPath("/"); response.addCookie(cookie); } }
发表评论
-
shell的学习笔记
2013-08-17 13:02 685最近在找工作,前些天被问起shell的问题。发现这块真是自己的 ... -
jwebap,监控web应用的jdbc,http请求,java类
2012-12-05 18:11 752最近在用jwebap。一个用来检测web应用的jdbc链接,h ... -
Tomcat的一些琐事
2012-08-29 17:58 806记录一些tomcat相关的操作问题,备忘 Tomcat “指 ... -
MySql 根据某个字段合并某一列数据
2012-06-06 09:40 0查询语句 SELECT productId, GROUP_CO ... -
Spring框架用注解进行事务控制
2012-05-18 18:07 1308今天纠结了一天呀~~就为了个注解事务控制。 其实很久以前就用过 ... -
oracle.sql.CLOB 转 String
2012-04-27 18:24 1869最近在用oracle数据库,有个oracle.sql.CLOB ... -
对内容列表按英文字母进行排序
2012-01-12 16:45 2096实现对内容列表,比如说种类,地方名按英文字母进行排序。效果如下 ... -
web开发常用组件备忘
2011-11-15 18:49 1161分享一些web开发经常用到的组件,也给自己做个备忘。 1、K ... -
IndexWriter.DeleteDocument与IndexReader.DeleteDocument区别
2011-10-31 15:28 1080转自http://www.cnblogs.com/zengen ... -
J2EE数据验证的一些开发建议
2011-08-30 17:03 1611说在前面:非原创。 输入数据验证:虽然为了用户的方便,可以提 ... -
web应用dao层的开发经验小结
2011-07-05 13:08 1126框架用多了,也有些腻。虽然struts2,spring,hib ... -
使用oscache加速你的web程序
2011-06-28 15:31 1183网上找了一下关于web开发方面可使用的缓存技术,发现oscac ... -
Html的一些小经验
2011-06-15 14:03 828写篇文章记录一下做web过程的一些小经验。打算以后想到就补充这 ... -
使用过滤器Filter解决tomcat默认编码配置下的传值乱码
2011-06-08 13:56 2184最近又拿起jsp+servlet来做项目,遇到了乱码的问题。解 ... -
【转载】MySQL索引类型一览 让MySQL高效运行起来
2011-05-24 11:20 917在网上看到篇介绍MySql索引的文章,觉得不错。转到自己博客, ... -
Tomcat设置网页超链接默认打开映射
2011-05-17 10:42 1190Tomcat设置网页超链接默认打开映射,可以修改tomcat/ ... -
关于Spring的事务管理,基于XML
2011-04-02 14:45 918在Spring中常用的事务传播行为 PROPAGATION ... -
Linux下Tomcat相关的一些命令
2011-03-29 20:29 879启动tomcat: ./startup.sh 关闭tomc ... -
String 与 InputStream互相转换
2011-01-28 11:46 972String与InputStream互转 1. String ... -
MySql数据在控制台里的导入和导出
2010-12-16 10:35 1618在windows系统下需要进入mysql安装目录中的bin目录 ...
相关推荐
实现单点登录功能
针对单点登录中的跨域身份认证问题,提出了一种基于可变Cookie的方案解决跨域单点登录,使用随机数字...通过对票据产生和传输以及Cookie加密和常见攻击的安全性分析,可以实现跨域单点登录的功能并保证身份认证安全可信。
05.单点登录&注销功能演示.avi 06.单点登录的流程分析.avi 07.单点登录Cookie和Session存储图解.avi 08.单点登录代码实现(一).avi 09.单点登录代码实现(二).avi 10.单点登录代码实现(三).avi 11.单点登录的流程梳理....
这是一个基于Go语言开发的单点登录系统,实现手机号注册,手机号+验证码登录,手机号+密码登录,账号登出等功能,用户认证采用cookie和jwt两种方式。方法已提供,仅需根据短信通道提供商提供的接口做相应的参数配置...
实现了在一个网站实现多一个论坛的功能,在原网站登陆之后再Cookie保存一个值就可以实现单点登陆当然还可以加一些Token的验证安全性可以自己考虑.当然再网页里面CookieUserSSO实现登陆的那个实例这里也有做了一下...
1)配置简单、使用更简单的ROM框架,它可以让你完全用对象的方式来查询或更新实体; 2)提供统一的获取数据或更新数据的框架; 3)单点登陆设计与实现; 4)网站皮肤切换;(非替换CSS或替换ascx) 5)Community...
这是一个基于Go语言开发的单点登录系统,实现手机号注册、手机号+验证码登录、手机号+密码登录、账号登出等功能,用户认证采用cookie和jwt两种方式。收发短信相关方法已提供,仅需根据短信通道提供商提供的接口做...
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的...
以往的单点登录方案仅支持C/S(客户机/...客户端则采用安全Cookie、共享内存与ticket技术实现跨域单点登录. 结果表明,该方案具有更高的安全性,更为全面的解决多模式应用的单点登录问题,因而具有广泛的应用前景.
自己实现spring-session,实现单点登陆的功能 使用filter拦截用户的请求,在filter中包装request,在request的包装类requestWrapper中,重写getSession(), 和getSession(boolean create)。自己实现httpSession,...
##提供另外一个简单的单点登录思想:: 比如存在3个域名a.com,b.com,c.com.其中a.com作为主域名,不论b.com还是c.com登录时请求都提交到a.com,所有的存储都在a.com,其他域名不允许访问。在a.com登录成功后,将登录...
通过加解密cookie以及验证api的方式实现单点登录 1 . 登录页 登录界面(可选择ldap登录或企业微信扫码登录) 2 . 用户页 用于用户登录成功后的站点导航,其中后台页面不会显示给普通用户 3 . 用户账户功能 用于修改ldap...
原作者没有实现单点退出功能,再次基础上实现了单点退出: 原理就是每一个sso客户端退出时候,添加Redis保存当前退出的用户名。每个系统实现切面aspect注解添加到控制器上面,每个请求根据当前系统的用户名去纠正...
JAVA/HTML/CSS/JS/THYMELEAF功能:主要用于分离周边系统用户登录以及注册模块,对用户公用权限进行授权(公用权限用于所有周边系统)优点:与各应用端解耦合,实现单点登录,便于用户维护缺点:需独立部署,某些情况下...
在2022/12/26晚上用来抢了一单抗原,它能自动下单成功, 下单成功后需要你去点开订单手动支付。 2022-12-26 20:15:00,335 INFO: 时间到达,开始执行…… 2022-12-26 20:15:00,534 INFO: 抢购链接获取失败,%s不是...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...