- 浏览: 603010 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (263)
- Struts2 (3)
- Spring (15)
- Apache (11)
- Java (57)
- Hibernate (10)
- Oracle (19)
- Linux (27)
- MYSQL (2)
- JavaScript (15)
- WebService (4)
- XFire (4)
- FreeMarker (2)
- JXL (2)
- Eclipse (5)
- PowerDesigner (6)
- Intellij IDEA (7)
- JQuery (6)
- EL&JSTL (3)
- SpringMVC (7)
- JAR&TLD (1)
- CMD&BAT (1)
- CSS (2)
- axis (2)
- dom4j (1)
- SoapUI (1)
- HttpClient (2)
- FusionCharts (4)
- 百度地图Api进阶教程 (5)
- SQLSERVER (15)
- 网站安全 (1)
- CXF (3)
- 文件同步软件 (0)
- Maven (9)
- Solr (2)
- QRCode (1)
- JSON (1)
- Dubbo (6)
- log4j2 (1)
- MyBatis (4)
- JavaWeb (1)
- activiti (2)
- kettle (1)
- JVM调优 (9)
最新评论
-
_739677725:
4楼的兄弟 你有源码没有?如果有可不可以帮忙转发一份 邮箱: ...
JAVA线程根据给定URL生成网页快照 -
_739677725:
下载不了了
JAVA线程根据给定URL生成网页快照 -
rhyhhg5:
还有一些url,抓图片的时候会提示脚本错误什么的,什么情况?
JAVA线程根据给定URL生成网页快照 -
rhyhhg5:
为什么 给 有些url,就抓不了图片呢
JAVA线程根据给定URL生成网页快照 -
feng_tai_jun:
总结很好。
Java中获取类加载路径和项目根路径
正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。
1.可在同一应用服务器内共享方法:设置cookie.setPath("/");
本机tomcat/webapp下面有两个应用:cas和webapp_b
1)原来在cas下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。
2)若在cas下面设置cookie的时候,增加一条cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面获取到cas设置的cookie了。
3)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath("/webapp_b/");是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的cas应用也不可以。
4)设置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的时候,只有在webapp_b/jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。
5)设置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用cas下面获取cookie了
6)有多条cookie.setPath("XXX");语句的时候,起作用的以最后一条为准。
2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com");
A机所在的域:home.langchao.com,A有应用cas
B机所在的域:jszx.com,B有应用webapp_b
1)在cas下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。
2)这个参数必须以“.”开始。
3)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取cas在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。
4)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享。
3.自己项目中的实例代码如下:
1)写入cookie
String userinfo =“存储用户登录的相关信息,如:用户名,地址,联系方式......”;
Cookie domain = new Cookie( "键名", URLEncoder.encode(userinfo,"utf-8") );
domain.setDomain( "davinfo.com" );
domain.setMaxAge( 3600 );
domain.setValue( URLEncoder.encode(userinfo,"UTF-8") );
domain.setPath( "/" );
getResponse().addCookie( domain );
2)读取cookie
Cookie[] cookies = ServletActionContext.getRequest().getCookies();
Cookie cookie = null;
boolean ifLogin = false;
for(int i =0; i<cookies.length;i++)
{
cookie = cookies[i];
if(cookie.getName().equals( Symbols.ADMIN_COOKIENAME ))
{
String corpid = URLDecoder.decode( cookie.getValue(), "utf-8" ).split( "," )[0];
TbCorpInfo tbCorpInfo = new CompanyDAO().selectCompanyById( Integer.parseIn( corpid ) );
ValueStack stack = invocation.getStack();
stack.setValue( "company", tbCorpInfo );
ifLogin = true;
}
}
if(ifLogin)
{
return invocation.invoke();
}else{
return Action.LOGIN;
}
3)清空cookie
Cookie domain = new Cookie( "键名", "" );
domain.setDomain( "davinfo.com" );
domain.setMaxAge( 0 );
domain.setValue("" );
domain.setPath( "/" );;
getResponse().addCookie( domain );
4)解决cookie读取乱码问题
URLEncoder.encode(userinfo,"utf-8") //编码
URLDecoder.decode( cookie.getValue(), "utf-8" ) //解码
发表评论
-
自定义JSP中的Taglib标签之四自定义标签中的Function函数
2017-10-13 22:53 287之前例子已经写好了,由于时间关系一直没有发布,这次带来的是关 ... -
POI实现超大数据的Excel的读写操作,支持Excel最大行数
2017-10-12 23:22 510参考:http://thinkgem.iteye.com/b ... -
java+ftp文件上传注意事项
2017-05-06 00:49 674// 设置上传文件的类型为二进制类型 ftp.setFi ... -
Java中使用OpenSSL生成的RSA公私钥进行数据加解密
2017-04-12 16:22 472http://blog.csdn.net/chaijunkun ... -
BigDecimal 使用方法详解
2017-03-20 14:11 530BigDecimal 由任意精度的整数非标度值 和 32 位 ... -
Apache POI Excel的工具类
2017-01-05 22:30 394参看:https://my.oschina.net/simpl ... -
JAVA 生成条码(一维码)及二维码
2016-06-26 00:15 4228package zjpt.zwsm.utils; im ... -
JAVA中常用IO流类:FileReader和FileWriter
2016-03-31 17:26 4411,FileWriter类(字符输 ... -
JAVA缓存的实现
2016-02-26 16:53 374缓存可分为二大类: 一、通过文件缓存,顾名思义文件缓存是指 ... -
Java 正则表达式详解
2015-10-22 10:17 467参考: http://www.jb51.net/arti ... -
Java中遍历文件夹、获取文件内容
2015-06-11 16:17 1298package demo.test; import j ... -
Java批量下载生成zip文件
2015-03-19 10:48 643import java.io.File;import ja ... -
Java读取.properties文件
2014-11-14 15:14 5851.获取src/config目录下的配置文件 ... -
使用JSONObject生成json
2014-03-06 10:59 833所需要的包 commons-httpclient-3.1. ... -
JVM内存状况查看方法和分析工具
2014-02-17 14:16 725JConsole JConsole可以图形化查看JV ... -
Java一次性查询几十万 几百万数据解决办法
2014-01-03 16:54 3711在做大数据量同步的 ... -
Java 单例模式(Singleton)
2013-12-27 21:40 703/** * @author BestUpon ... -
JDBC 批量插入
2013-12-26 21:12 930使用JDBC向数据库插入100000条记录,分别使用sta ... -
Hibernate 批量插入、更新与删除
2013-12-26 20:30 1197批量插入 在项 ... -
Tomcat与Jre绿色环境配置(生产环境)
2013-12-25 16:43 14520Tomcat运行时需要jre的支持 ...
相关推荐
- 使用Cookie实现SSO,需要考虑跨域问题,确保所有应用系统能够访问到同一Cookie。 - 认证中心需要具备处理登录请求、验证用户凭证、生成和解析令牌的能力。 - 应用系统需要配置以信任认证中心的令牌,并能正确...
在这个项目中,我们利用SpringBoot框架来实现基于Cookie的SSO。下面将详细解释这个项目的实现原理、流程以及涉及的关键技术。 一、SpringBoot与SSO结合 SpringBoot以其简洁的配置和强大的功能深受开发者喜爱,是...
SSO系统的关键技术通常包括Cookie管理、跨域通信(CORS)、安全票据加密等。为了实现跨域,可能会利用JSON Web Tokens(JWT)或OAuth 2.0等协议。同时,为了防止CSRF攻击和保护用户隐私,还需要对HTTP请求头进行严格...
XXL-SSO 是一个专为此目的设计的开源框架,它提供了轻量级、分布式、跨域以及对Cookie和Token的支持,适用于Web和APP应用。 1. **轻量级**:XXL-SSO 设计简洁,易于理解和部署,降低了对系统资源的需求,使得小型到...
- **Cookie管理**:在跨域SSO场景中,Cookie的管理尤为重要。由于浏览器安全策略限制,不同一级或顶级域名下的站点无法相互读取对方设置的Cookie。因此,实现跨域SSO需要特别关注Cookie的写入、读取策略及其传递方式...
本文将详细介绍SSO的基本概念及其二级域名和跨域的实现方式。 SSO的核心在于提供一种机制,使得用户在首次登录后,其身份认证信息能够被其他系统识别,从而实现无缝切换和访问。通常,SSO的实现涉及到身份验证...
跨域读写cookie的例子 思维导图 和java相关的 更多干货 更多干货 更多干货 分布式 实战(干货) 更多干货 spring cloud spring cloud 实战(干货) 更多干货 mybatis 更多干货 RPC spring boot spring boot 实战...
跨域读写cookie的例子 思维导图 和java相关的 更多干货 更多干货 更多干货 分布式 实战(干货) 更多干货 spring cloud spring cloud 实战(干货) 更多干货 mybatis 更多干货 RPC spring boot spring boot 实战...
跨域读写cookie的例子 思维导图 和java相关的 更多干货 更多干货 更多干货 分布式 实战(干货) 更多干货 spring cloud spring cloud 实战(干货) 更多干货 mybatis 更多干货 RPC spring boot spring boot 实战...
2. **票据存储**:浏览器将这个票据存储在Cookie或者LocalStorage中,确保在后续的跨域请求中可以携带。 3. **跨域请求**:当用户访问另一个子域(如sub.example.com)时,浏览器会自动将主域的票据发送到该子域。 ...
在基于Cookie的二级域名下跨域共享SSO实现中,核心概念是利用Cookie的特性来实现用户身份的共享与传递。 首先,我们了解SSO的工作原理。当用户首次访问一个应用系统(例如,`app1.example.com`)时,如果用户尚未...
单机模拟多台主机,跨域写cookie场景
5. **跨域访问(Cross-Origin Resource Sharing, CORS)**:在实现SSO时,特别是Web应用,可能会遇到跨域问题。通过配置CORS策略,可以让不同源的请求被服务器接受,使得SSO能够在不同的域名之间顺利进行。 6. **...
文章中提到的跨域SSO设计思路分为SSO-Server和SSO-Client两部分,SSO-Server作为中央认证节点,负责用户登录、注销、Token分配及验证等工作,而SSO-Client则负责请求SSO-Server以获得用户身份验证信息。 #### SSO-...
跨域点单登录源码SSO_cross_domain是一个用于实现单点登录(Single Sign-On, SSO)的项目,主要解决了用户在多个域名之间切换时无需重复登录的问题。在这个项目中,我们将探讨三个核心概念:跨域、点单登录以及SSO。...
### ASP.NET跨域SSO解决方案 #### 一、引言 在现代企业级应用开发中,随着业务系统越来越复杂,各个子系统之间的交互也日益频繁。为了提高用户体验并简化管理流程,单点登录(Single Sign-On,简称SSO)成为了一个...
在这个“完全跨域SSO”实现中,我们将探讨如何跨越不同的域名或子域名实现SSO功能,这对于大型企业或拥有多个子网站的组织来说尤其重要。 首先,我们需要理解SSO的核心概念:票据(Ticket)。在SSO流程中,用户首次...
4. **跨域Session验证**:由于不同的系统可能位于不同的域名下,因此需要解决跨域问题。这通常通过共享Cookie或者使用JSON Web Token (JWT) 实现。 5. **协议支持**:常见的 SSO 协议有 SAML(Security Assertion ...
在"SSO实现跨域登录实例"中,我们主要探讨的是如何让不同的Web应用程序在同一个登录会话下共享用户的身份信息,从而实现在不同域名或路径下的无缝切换。这个实例是基于VS2008开发的,这表明我们将关注的是.NET ...