Shiro 通过配置Cookie 解决多个二级域名的单点登录问题。

soゝso 2016-08-26 01:37:45 12625

shiro demo下载

Shiro + SSM(框架) + Freemarker(jsp)讲解的权限控制Demo,还不赶快去下载?




当前配置只对于相同的 一级域名  ,严格来讲就是相同的主域名,比如sojson.com ,本站用到的有 e.sojson.com ping.sojson.com www.sojson.com ,但是登录后怎么在其他域下面也是登录的呢?其实这样的结构最容易解决了,把 Session  Cookie  写到.sojson.com 即可,其他的二级、三级域名等等都可以读到这个 Cookie  ,那只要存 Session  信息的库(各种 Cache  )是同一个,就解决了。

那么来说说我的结构,我的 Session  共享是 Shiro  解决的。我开始没注意,还各种惆怅,这咋搞,总不能用个 cas  吧,就一个简单的网站,不至于吧。后来我看了看源码,才发现可以这样来。

我插入代码你就看明白了:

<!-- 会话Cookie模板 -->
    <bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
        <constructor-arg value="v_v-s-baidu"/>
        <property name="httpOnly" value="true"/>
        <property name="maxAge" value="-1"/>
        <!-- 配置存储Session Cookie的domain为 一级域名 -->
        <property name="domain" value=".sojson.com"/>
    </bean>
    <!-- custom shiro session listener -->
    <bean id="customSessionListener" class="com.sojson.core.shiro.listenter.CustomSessionListener">
        <property name="shiroSessionRepository" ref="jedisShiroSessionRepository"/>
    </bean>

    <bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
        <constructor-arg value="v_v-re-baidu"/>
        <property name="httpOnly" value="true"/>
        <!-- 配置存储rememberMe Cookie的domain为 一级域名 -->
        <property name="domain" value=".sojson.com"/>
        <property name="maxAge" value="2592000"/><!-- 30天 -->
    </bean>

关键配置在于2处:

<property name="domain" value=".sojson.com"/>

这样已经就OK了。及时是多个项目,只要用的存储 Session  DB( Redis  EHCache  LevelDB Memcache  )是一个即可。

本站SpringMVC  +Spring  +Mybatis  +Shiro  +Redis  +Freemarker  +JSP  等等的完整免费Demo  地址:https://www.sojson.com/shiro

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/116.html

转载时必须以链接形式注明原始出处及本声明。


如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
Nginx 跳转到www二级域名域名重定向配置方法。
单个项目多个二级域名简单实现思路
Java 实现多个二级域名访问同一个Tomcat(系统)。
N多系统单点登录,实现、解决方案。四种解决方案
Shiro教程(十一)Shiro 控制并发登录人数限制实现,登录踢出实现
QQ互联登录,出现qzuser用户的原因及解决办法
正则从URL中提取一域名,支持大部分域名
Java 正则获取一域名
IE、Firefox对同一域名访问并发限制,及解决优化方案
Shiro教程(四)Shiro + Redis配置
最新文章
使用七牛云存储实现图片API,自动删除图片方案合集 978
神速ICP备案经验分享,ICP备案居然一天就通过了 2120
百度加强推送URL链接,百度SEO强行推送链接JavaScript代码案例讲解。 2838
SOJSON 拓展服务器被DDos攻击了一晚上,是如何解决的? 3152
湖南地区备案“新增网站需提交组网方案或解释说明”,关于备案做简单叙述 3216
企查查你是个什么企业,骗子的帮凶,诈骗的集中营,通过企查查骚扰企业电话不断,为所欲为的企查查 9471
Java爬取百度云观测对网站的检测数据,获取子域名及域名的安全信息 2503
【2020年】百度搜索词获取,获取百度搜索的关键词【真实有效】 6794
Nodejs环境安装,Nodejs环境安装一篇就够了 1769
iOS版淘宝打开提示“您使用的程序是内测版本,将于2020-03-28到期,到期将无法使用,请尽快下载最新版本” 2480
最热文章
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 430171
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 416853
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 349924
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 308929
免费天气API,天气JSON API,不限次数获取十五天的天气预报 285609
Elasticsearch教程(四) elasticsearch head 插件安装和使用 220041
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 174970
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 135860
Elasticsearch教程(一),全程直播(小白级别) 118925
Elasticsearch教程(五) elasticsearch Mapping的创建 98610

骚码加入我们 / 千人QQ群:259217951

入群需要5元为的是没有垃圾广告,如果没有QQ钱包,可以加群主拉进。

二维码生成 来自 >> 二维码生成器

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...