Shiro 教程,关于最近反应的相关异常问题,解决方法合集。

soゝso 2016-08-26 00:13:57 15825

shiro demo下载

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




前言:本教程适合有一定基础的 Java程序员使用,如果对 Shiro 有一定的了解,过程中会很快接受,建议在使用 Shiro教程Demo的时候,建议直接Maven,教程Demo中没有对Maven过多的依赖,只有一个依赖包的管理,如果对Maven不熟悉,你可以安装一个MyEclipse8.5,自带Maven环境,本站有 在线生成MyEclipse注册码。注意,开始不管你技术多牛,不管我的文档写的有多么不好,都建议你看完,这样大概心里有个数,Demo里有什么功能,哪些地方怎么实现的?都知道个大概。

Shiro教程地址:https://www.sojson.com/shiro  (含项目下载地址)。

本篇叙述的是问题集合,以及相关解决方案,如果你在使用本站提供的 SSM + Shiro + Redis + Freemarker 的Shiro教程 中遇到问题,以及解决方案,可以联系站长告知,我会第一时间更新到此篇博客之中。

一、Shiro 教程 Demo 环境准备。

环境在https://www.sojson.com/shiro 中说的很详细,我Ctrl + C 过来。

开发工具: Eclipse  MyEclipse  Idea  等等。

依赖第三方:Mysql 5.0 以上、 Redis  (v2.8左右)。

需要的配置:jdbc.properties 中配置 Mysql  的信息、spring-cache.xml 配置 Redis  配置,如果是默认配置,就不用换,Redis Windows 环境安装教程:https://www.sojson.com/blog/110.html

这里特别强调一下,开发工具的问题。

IDEA:很多同学用IDEA 的时候出现了问题,主要出现在2个地方,一个是 XML 打包不进去,还有一个是Maven 的问题,但是如果对IDEA 环境比较熟悉,那就没这个问题。

Eclipse:最新版本有问题,其实也是在打包和 Maven  上。不是最新版本,亲测好使没毛病。

Myecilpse8 ~ Myecilpse 10 :亲测好使,没毛病。

我开发的工具版本:

Eclipse:Eclipse IDE for Java Developers —— Version: Helios Service Release 2 ,后面由于家里环境是MyEclipse8.5,后面是采用MyEclipse8.5,开发完成的;

Mysql:版本是5.6 ,用的是阿里的RDS 服务,底层是Mysql5.6

Redis:版本是2.8.2400 / 64bit 

二、Redis(Cache)问题。

自查:有没有安装redis,有没有成功启动,如果有,请确认Redis是否IP和端口有改变,Shiro 教程Demo中配置如下:

<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
	<constructor-arg index="0" ref="jedisPoolConfig"/>
	<constructor-arg index="2" value="6379"/><!--默认端口-->
	<constructor-arg index="3" value="5000"/><!--链接超时时效-->
	<constructor-arg index="1" value="127.0.0.1"/><!--默认本地ip地址-->
</bean>

这些都是默认的配置,请核对一遍。如果没问题,请把配置改成如下的配置:

<!-- redis 配置,也可以把配置挪到properties配置文件中,再读取 -->
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
	<constructor-arg index="0" ref="jedisPoolConfig" />
    <constructor-arg index="2" value="6379"  name="port" type="int"/>
    <constructor-arg index="3" value="5000"  name="timeout" type="int"/>
    <constructor-arg index="1" value="127.0.0.1" name="host" type="java.lang.String"/>
</bean>

这种 arguments 构造的方式,之前配置有缺点。

因为参数类型不一致,有时候jar 和环境的问题,导致参数根据index 对应,会处理问题,

理论上加另一个 name ,就可以解决,现在把name type 都加上,更保险。

那缓存到此基本没问题,还有问题,加群交流。

新版本 Shiro_SSM_0.2 会解决这个问题。

三、登录问题。

现有现象:

  1. 登录后提示 “登录成功” ,但是没跳转,也反应,或者404 了。

  2. 输入帐号密码后,点击登录,没有任何反应。
  3. 登录的时候,提示“登录成功”,跳转后,又回到登录页面了。

对应解决:

  1. 查看前后台是否报错,这时候应该是Redis有问题,要么后台其他报错了。
  2. 项目是否部署到 root ,也就是根目录,因为项目中没有basePath ,所以有问题,新版本会解决这个问题。

  3. 这个问题应该是写入Cookie 的问题,项目里有二个这个配置(spring-shiro.xml )。
<!-- 会话Cookie模板 -->
<bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
	<!--cookie的name,我故意取名叫xxxxbaidu -->
    <constructor-arg value="v_v-s-baidu"/>
    <property name="httpOnly" value="true"/>
    <!--cookie的有效时间 -->
    <property name="maxAge" value="-1"/>
    <!-- 配置存储Session Cookie的domain为 一级域名 -->
    <property name="domain" value=".itboy.net"/>
</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=".itboy.net"/>
    <property name="maxAge" value="2592000"/><!-- 30天时间,记住我30天 -->
</bean>

里面有下面配置,为 .itboy.net 项,删除即可。

<!-- 配置存储rememberMe Cookie的domain为 一级域名 -->
<property name="domain" value=".itboy.net"/>



有其他问题,或者解决了,请联系群主,我把过程及解决方案加上....


版权所属:SO JSON在线解析

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

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

本文主题:

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

关于作者
一个低调而闷骚的男人。
相关文章
解决IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法解决后支持HTML5
Shiro教程(四)Shiro + Redis配置
Spring 3.x 升级到Spring 4.x 注意事项和步骤,错误解决方法
MySQL数据库为用户设置密码,Mysql修改密码。Mysql忘记密码解决方法
Shiro教程(五)Shiro + Redis实现
Shiro 通过配置Cookie 解决多个二级域名的单点登录问题
Shiro教程(八)Shiro Freemarker标签的使用。
Shiro 教程Shiro教程0.2 下载,Shiro功能修复与升级说明。
document.domain解决跨域问题,详细讲解。
Shiro教程Shiro 配置文件详细解释,Shiro自定义Filter配置
最新文章
Elasticsearch 好消息, X-Pack的开源:第一阶段完成 15396
文字转语音接口,支持汉字、英语,文字转音频开放接口,还支持翻译播放 8564
Spring JPA查询,JPA 根据方法名字查询详细介绍 32663
Springboot JPA 执行原生sql ,自定义SQL占位符增加参数 54336
Java 随机从 List 随机获取多个不重复对象,Mysql 随机10条数据 16710
Linux 安装 Redis 详细步骤讲解 5720
Javascript 生成UUID,Java生成UUID 9694
Maven的Mirror和Repository 的详细讲解 38075
JDK1.7中新增自动释放资源接口AutoCloseable讲解 15001
对Java的常用对象(POJO、DTO、PO、BO、VO、DAO)详细解释及应用场景 21656
最热文章
Springboot JPA 执行原生sql ,自定义SQL占位符增加参数 54336
Maven的Mirror和Repository 的详细讲解 38075
在windows上安装redis并设置密码,IP绑定【提供安装包】 37951
Spring JPA查询,JPA 根据方法名字查询详细介绍 32663
对Java的常用对象(POJO、DTO、PO、BO、VO、DAO)详细解释及应用场景 21656
最新VS2012破解 序列号,vs2012旗舰版密钥序列号【收藏】 21581
Java 随机从 List 随机获取多个不重复对象,Mysql 随机10条数据 16710
Elasticsearch操作数据后马上更新的办法 16437
Elasticsearch 好消息, X-Pack的开源:第一阶段完成 15396
JDK1.7中新增自动释放资源接口AutoCloseable讲解 15001
支付扫码

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

查看我的收藏

正在加载... ...