项目登陆使用https,其他使用http的方式一点尝试
2014-10-09 15:21
387 查看
由于项目需要,在登录的时候需要使用https对用户的数据进行加密,登录完后跳转的其他页面时使用http方式访问;
根据项目实际使用的安全框架shiro,在网上查了很多资料,使用步骤如下:
1.在tomcat中server.xml中配置ssl,可以默认使用443端口
生成一个keystore文件,后面配置tomcat会用到
在spring_shiro.xml中增加
在shiro主过滤器配置中新增
login/login=ssl
这样就保证在点击登陆时使用https访问
3.在登陆完后怎么重定向到http且session不丢失呢
重定向时,需要重新把sessionId重新放到cookie中,具体原因可查https http 跨域的问题
根据项目实际使用的安全框架shiro,在网上查了很多资料,使用步骤如下:
1.在tomcat中server.xml中配置ssl,可以默认使用443端口
生成一个keystore文件,后面配置tomcat会用到
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:\localhost.keystore" keystorePass="123456"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />2.使用shiro对登陆路径进行过滤
在spring_shiro.xml中增加
<bean id="sslFilter" class="org.apache.shiro.web.filter.authz.SslFilter"> <property name="port" value="443"/> </bean>
在shiro主过滤器配置中新增
<property name="filters"> <map> ...... <entry key="ssl" value-ref="sslFilter"/>
<span style="white-space:pre"> </span>...... </map> </property>在过滤链中配置路径过滤
login/login=ssl
这样就保证在点击登陆时使用https访问
3.在登陆完后怎么重定向到http且session不丢失呢
重定向时,需要重新把sessionId重新放到cookie中,具体原因可查https http 跨域的问题
Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId()); cookie.setPath(request.getContextPath()); response.addCookie(cookie);这样就可登录使用https,其他链接使用http
相关文章推荐
- 项目登陆使用https,其他使用http的方式一点尝试
- Android 使用HTTP(get和post)方式登陆服务器
- 09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- 09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- Android安全开发之正确使用Https(内含OkHttp、HttpUrlConnection配置https方式)
- 项目实战 - 使用Fiddler抓取bilibili安卓客户端口数据并分析(http、https)
- android-async-http开源项目GET方式 POST方式实现登陆
- 09_android入门_採用android-async-http开源项目的GET方式或POST方式实现登陆案例
- 使用Http方式下载文本类型的文件及其他类型的文件
- android-async-http开源项目的GET方式或POST方式实现登陆案例简单Demo
- 09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- MySQL的一些其他插入数据的方式,顺便给大家脑补一点基本函数的使用
- 【黑马Android】(05)短信/查询和添加/内容观察者使用/子线程网络图片查看器和Handler消息处理器/html查看器/使用HttpURLConnection采用Post方式请求数据/开源项目
- android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
- httpclient 无信任证书直接使用https含项目demo
- [转]Login over HTTPS from HTTP pages(使用https登陆)
- 基于java 使用http-post方式请求https webservice接口
- 使用SVN管理VC项目(解决无法访问https://code.google.com/hosting/settings)(服务器为Code Google)(转http://blog.csdn.net/xiadasong007/archive/2010/07/
- 将CAS https认证的方式改为http