当前位置: 编程技术>综合
本页文章导读:
▪applet遇到http-only cookie的处理方式 问题发现:
1、项目中用applet控件通过HTTP做一些数据的传输操作
2、项目有用户权限控制,需要登录成功才能进行相关操作,发现用户未登录,则跳转到登陆页面
3、.........
▪配置CAS 一、java keytool 安全证书(jre版本使用上可以向下兼容)
1.服务器中生成证书keystore:(注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)
keytool -genkey -keyalg RSA -dname "c.........
▪json读写 public File writeFile(String content,String path) {
if (content == null) {
return null;
}
File file = null;
OutputStream outputStream = null;
try {
file = createSDFile(path);
outputStream = new FileOutputStream(file);
outputStream.........
[1]applet遇到http-only cookie的处理方式
问题发现:
1、项目中用applet控件通过HTTP做一些数据的传输操作
2、项目有用户权限控制,需要登录成功才能进行相关操作,发现用户未登录,则跳转到登陆页面
3、项目有安全控制,cookie都设置成了http-only,http-only的cookie在js和applet中都是无法操作的
4、通常情况,applet进行HTTP请求发送,只要直接访问目标地址即可,
但在当前环境下,applet进行HTTP请求后,服务端响应的内容都是指向到了登陆页面
问题解决:
1、通常情况下,用URL重写的方式,将如“JSSEIONID”这类cookie直接写在URL上
但发现,这种方式无法达到目的
2、正确的处理方式,除了普通的URL重写,还需加上“Path=/mywebroot; HttpOnly”
示例:
1、普通URL,http://mywebroot/myaction
附带cookie,“myid=mysessionidxxxxxx”
2、URL重写后为,http://mywebroot/myaction;myid=mysessionidxxxxxx
3、最终URL为,http://mywebroot/myaction;myid=mysessionidxxxxxx; Path=/mywebroot; HttpOnly
(注意“;”后面的“空格”,最终会转成“%20”)
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐
- —软件人才免语言低担保 赴美带薪读研!—
[2]配置CAS
一、java keytool 安全证书(jre版本使用上可以向下兼容)
1.服务器中生成证书keystore:(注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)
keytool -genkey -keyalg RSA -dname "cn=demo.wuyunmin.com,ou=demo.wuyunmin.com,o=demo.wuyunmin.com,l=china,st=shanghai,c=cn" -alias server -keypass 123456 -keystore server.jks -storepass 123456 -validity 3600
2.导出证书,由客户端安装:
keytool -export -trustcacerts -alias server -file server.cer -keystore server.jks -storepass 123456
3.客户端配置:为客户端的JVM导入密钥(将服务器下发的证书导入到JVM中)
keytool -import -trustcacerts -alias server -file server.cer -keystore D:\Progra~1\Java\jdk1.6.0_35\jre\lib\security\cacerts -storepass 123456
(将证书cacerts拷贝到Tomcat使用的jre下面)
二、cas-server-3.5.0-release.zip下载地址
cas-server-3.5.0-release.zip
三、解压cas-server-3.5.0-release.zip
目录结构如下:
将modules下的cas-server-webapp-3.5.0.war复制到Tomcat的webapps下面,重命名为:cas.war。
四、配置Tomcat证书的路径
更新tomcat下的tocat_home/conf/server.xml,添加:
五、启动tomcat
打开浏览器,输入https://demo.wuyunmin.com:8444/cas/login,进入登录界面:
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐
1.服务器中生成证书keystore:(注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)
keytool -genkey -keyalg RSA -dname "cn=demo.wuyunmin.com,ou=demo.wuyunmin.com,o=demo.wuyunmin.com,l=china,st=shanghai,c=cn" -alias server -keypass 123456 -keystore server.jks -storepass 123456 -validity 3600
2.导出证书,由客户端安装:
keytool -export -trustcacerts -alias server -file server.cer -keystore server.jks -storepass 123456
3.客户端配置:为客户端的JVM导入密钥(将服务器下发的证书导入到JVM中)
keytool -import -trustcacerts -alias server -file server.cer -keystore D:\Progra~1\Java\jdk1.6.0_35\jre\lib\security\cacerts -storepass 123456
(将证书cacerts拷贝到Tomcat使用的jre下面)
二、cas-server-3.5.0-release.zip下载地址
cas-server-3.5.0-release.zip
三、解压cas-server-3.5.0-release.zip
目录结构如下:
将modules下的cas-server-webapp-3.5.0.war复制到Tomcat的webapps下面,重命名为:cas.war。
四、配置Tomcat证书的路径
更新tomcat下的tocat_home/conf/server.xml,添加:
<Connector port="8444" maxHttpHeaderSize="8192" SSLEnabled="true" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" keystoreFile="/server.jks" keystorePass="123456" clientAuth="false" sslProtocol="TLS" truststoreFile="D:\Program Files\Java\jdk1.6.0_35\jre\lib\security\cacerts" truststorePass="123456"/>
五、启动tomcat
打开浏览器,输入https://demo.wuyunmin.com:8444/cas/login,进入登录界面:
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐
- —软件人才免语言低担保 赴美带薪读研!—
[3]json读写
public File writeFile(String content,String path) {
if (content == null) {
return null;
}
File file = null;
OutputStream outputStream = null;
try {
file = createSDFile(path);
outputStream = new FileOutputStream(file);
outputStream.write(content.getBytes("GBK"));
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
return null;
} finally {
try {
if (outputStream != null) {
outputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}
public String getLocalJson(String path) throws JSONException, IOException{
String result = null;
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(1024);
FileInputStream inputStream = new FileInputStream(path);
int len = 0;
byte[] buffer = new byte[1024];
while((len = inputStream.read(buffer)) != -1){
outputStream.write(buffer, 0, len);
}
outputStream.close();
inputStream.close();
byte[] data = outputStream.toByteArray();
result = new String(data,"GBK");
return result;
}
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐
if (content == null) {
return null;
}
File file = null;
OutputStream outputStream = null;
try {
file = createSDFile(path);
outputStream = new FileOutputStream(file);
outputStream.write(content.getBytes("GBK"));
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
return null;
} finally {
try {
if (outputStream != null) {
outputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}
public String getLocalJson(String path) throws JSONException, IOException{
String result = null;
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(1024);
FileInputStream inputStream = new FileInputStream(path);
int len = 0;
byte[] buffer = new byte[1024];
while((len = inputStream.read(buffer)) != -1){
outputStream.write(buffer, 0, len);
}
outputStream.close();
inputStream.close();
byte[] data = outputStream.toByteArray();
result = new String(data,"GBK");
return result;
}
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐
- —软件人才免语言低担保 赴美带薪读研!—
最新技术文章: