spring+shiro共享session完整小例子

时间:2023-03-09 16:03:09
spring+shiro共享session完整小例子

之前写过一个,只不过那个不单纯,有人跑不通,所以今天整个纯粹的小例子。

要求你有Redis。

源码

GitHub

目录结构

spring+shiro共享session完整小例子

因为这是个例子,仅仅为了体现共享session,所以权限认证部分没有加入处理逻辑。目录结构也做了简化。

打包好,为下一步做准备

配置Tomcat

准备两个Tomcat,先修改配置文件。

spring+shiro共享session完整小例子

  Tomcat-1 Tomcat-2
SHUTDOWN-端口 8005 8006
HTTP端口 8081 8082
Connector端口 8009 8010

spring+shiro共享session完整小例子

spring+shiro共享session完整小例子

spring+shiro共享session完整小例子

将打包好的war包解压,修改几个jsp文件,目的是区别两个Tomcat。(放在Tomcat-1里面的就是1,放在Tomcat-2了里面的就是2)

index

spring+shiro共享session完整小例子

welcome

spring+shiro共享session完整小例子

home

spring+shiro共享session完整小例子

最后把文件放进apache-tomcat-8.0.29-8081\webapps\ROOT 目录,Tomcat-2也一样

spring+shiro共享session完整小例子

配置Nginx

首先Nginx的路径不能存在中文,所以这要注意。

修改配置文件:

spring+shiro共享session完整小例子

找到http{

spring+shiro共享session完整小例子

在里面加入两段配置,(配置文件里面已经有一个监听80端口的server配置了,所以把那个端口改成其他就可以,比如88)

    upstream myapp{
server 127.0.0.1: weight=;
server 127.0.0.1: weight=;
} server{
listen ;
server_name myapp; location / {
proxy_pass http://myapp;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

最终如图:

spring+shiro共享session完整小例子

最后

启动两个tomcat

spring+shiro共享session完整小例子

启动Nginx

spring+shiro共享session完整小例子

浏览器访问:http://localhost

spring+shiro共享session完整小例子

刷新一下看看

spring+shiro共享session完整小例子

这里呢,没认证过,是不能访问Home的,只有点击过Welcome通过认证才能访问。当在任何一台服务器上认证过,再跳到其他服务器上,就不用再次登录了。

点击Welcome。

spring+shiro共享session完整小例子

访问home

spring+shiro共享session完整小例子

个人理解就是如此,不对请指正。