resin中关于url rewrite来传递jsessionid的问题
最近两天在项目中碰到,一个很奇怪的问题。同一个账号多次切换登录时,会出现这个账号的信息在session中找不到,虽然可以登录成功,但是之后这个用户信息好像没有保存到session中一样,或者是被改变了,之前我一直是以为被改变了,后来发现错了。
今天,在公司的系统架构师的帮助下,终于解决了这个问题。
首先我们使用的resin的配置是
<session-config>
<enable-url-rewriting>false</enable-url-rewriting>
<!--<use-persistent-store>true</use-persistent-store>-->
</session-config>
这样的。这样禁用了jsessionid以cookie的方式在页面传递。但是我们的前端是用jsessionid放到URL来进行会话的维持的。
将jsessionid放到url中,这样可以不使用cookie。
不使用cookie,可以避免遭遇用户禁用cookie的情况。另外,有安全性方面的考虑
使用url rewrite有两种方式:
1. http://***/wmail/welcome.action;jsessionid=abcLFJLwoeurlsjdlf?...
这种是将jsessionid放在action后面
需要修改resin/conf/resin.conf中的配置为:
<session-config>
<enable-cookies>false</enable-cookies>
<enable-url-rewriting>true</enable-url-rewriting>
</session-config>
2. http://***/~jid=abcLFJLwoeurlsjdlf/wmail/welcome.action?...
除了要按照前面的同样修改resin/conf/resin.conf中的配置为:
<session-config>
<enable-cookies>false</enable-cookies>
<enable-url-rewriting>true</enable-url-rewriting>
</session-config>
还要在resin/conf/resin.conf中增加alternate-session-url-prefix的设置:
<server>
<class-loader>...</class-loader>
<alternate-session-url-prefix>/~jid=</alternate-session-url-prefix>
......
注意alternate-session-url-prefix的位置,不是在<session-config>里面
测试中发现,按照这种方式配置后,url被重写为
http://***/~jid=abcLFJLwoeurlsjdlf/wmail/welcome.action?...
在浏览器中访问会产生http 404 file not found 错误,经反复检查(吐血的经历),发现需要修改resin/conf/resin.conf中的配置:
<server>
......
<host id="" root-directory=".">
<!--
<web-app id="/" document-directory="webapps/ROOT"/>
-->
</host>
</server>
将<web-app id="/" document-directory="webapps/ROOT"/>的设置屏蔽后才能正常访问
http://***/~jid=abcLFJLwoeurlsjdlf/wmail/welcome.action?...
这样的地址。
resin中关于url rewrite来传递jsessionid的问题的更多相关文章
- 翻译:为 URL Rewrite 模块创建重写规则
原文名称:Creating Rewrite Rules for the URL Rewrite Module 原文地址:http://www.iis.net/learn/extensions/url- ...
- 使用URL Rewrite实现网站伪静态
下载urlwrite包 将urlrewrite-***.jar复制到web应用lib文件夹下 web.xml中配置URL Rewrite: 例: <filter> <filter-n ...
- Windows10中的IIS10安装php manager和IIS URL Rewrite 2.0组件的方法
Windows10中自带的Server:Microsoft-IIS/10.0,然后这个10却让原本支持组件无法安装了,php manager组件安装时提示“必须安装IIS7以上才可以安装”.那是不是真 ...
- 在ASP.NET MVC中使用IIS级别的URL Rewrite
原文 在ASP.NET MVC中使用IIS级别的URL Rewrite 大约一年半前,我在博客上写过一系列关于URL Rewrite的文章(2.3.4),把ASP.NET平台上进行URL Rewrit ...
- mvc中view与controll之间传递参数时,可以使用url进行传递
mvc中view与controller之间传递参数时,可以使用url进行传递,但是在url的地址中需要加上“id=123”这样的东西才行. 具体如代码: window.location.href = ...
- ASP.NET Core中怎么实现Url rewrite功能
我们可以使用ASP.NET Core的中间件来实现Url rewrite功能,下面我们定义一个中间件ReplaceQueryStringMiddleware来替换Http请求中的Url参数即Query ...
- Android 通过URL scheme 实现点击浏览器中的URL链接,启动特定的App,并调转页面传递参数
点击浏览器中的URL链接,启动特定的App. 首先做成HTML的页面,页面内容格式如下: <a href="[scheme]://[host]/[path]?[query]" ...
- Traefik2.X 版本 中 URL Rewrite 的使用
文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247484594&idx=1&sn=becbe567 ...
- 在IIS 中如何配置URL Rewrite,并且利用出站规则保持被重写的Cookie的域
Url Rewrite配置 xx.aa.com/bb/test1.aspx 会重写到 bb.aa.com/test1.aspx 具体怎么配置入站 出站规则 结果:
随机推荐
- 删除排序数组中的重复数字 II
题目连接 http://www.lintcode.com/zh-cn/problem/remove-duplicates-from-sorted-array-ii/ 题目大意 跟进“删除重复数字”: ...
- 【Java】系统漏洞:关于用户登录后操作的注意事项
项目背景: SpringMVC + Mybatis + MySql数据库(javaWeb项目开发) 相关模块:登录,个人详细信息修改,订单详情查询 相关漏洞介绍: 1.登录的验证码:登录的验证码一定 ...
- PKU2503_map应用
Description You have just moved from Waterloo to a big city. The people here speak an incomprehensib ...
- uva10905
/* 很好的字符串 比较方法 很多个字符串 组成的 数字 需要最大 然后 比较 a和b 是 比较a+b 和b+a 的大小 */ #include<cstdio> #include<s ...
- 解决fiddler不能抓取eclipse发出接口请求的问题
使用eclipse执行接口时,发现在fiddler里面抓不到这些请求. 网上找了很多资料都是让在Eclipse 中设置:Windows > Preferences > Java > ...
- python类方法、静态方法、实例方法例子
类方法,静态方法,普通方法 #coding=utf-8 class Foo: def __init__(self,name): self.name=name d ...
- Oracle和sql server中复制表结构和表数据的sql语句
在Oracle和sql server中,如何从一个已知的旧表,来复制新生成一个新的表,如果要复制旧表结构和表数据,对应的sql语句该如何写呢?刚好阿堂这两天用到了,就顺便把它收集汇总一下,供朋友们参考 ...
- pythoy的configparser模块
生成配置文件的模块 DEFAULT块,在以块为单位取块的值时,都会出现 import configparser config = configparser.ConfigParser() #相当于生成了 ...
- P2571 [SCOI2010]传送带
P2571 [SCOI2010]传送带 三分套三分. 前提条件:P3382 [模板]三分法 三分,求区间内单峰函数的最大/最小值. 我们把两条线段都跑三分,先ab后cd,求出最小值. 可以直接将二维坐 ...
- 20145127《java程序设计》第二周学习总结
本周我又对java程序进行了更进一步的学习.相比与上一周的学习内容的宏观,这一周的所学更加的系统和调理明确. 本周是对java基础语法的学习.首先,我先是认识类型与变量. Java可区分为基本类型和类 ...