- 浏览: 208706 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
问题说明:
原因:
处理过程:
1.session过期时间太短,导致session过期找不到session报错,
这里org.apache.shiro.web.session.mgt.DefaultWebSessionManager设置session时间
globalSessionTimeout时间太短 这个单位是毫秒,建议设置长点时间
2.时间修改长后,还是报错,但是可以执行 SecurityUtils.getSubject().logout();程序执行到return "index";报错
logout可以安全正确退出,session也可以删除,授权信息,认证信息也会被清除(debug进去可以看到的)
但是如果直接return就会报错
3.DEBUG方式
org.apache.shiro.session.UnknownSessionException: There is no session with id
debug进去发现,直接return程序还是会查找你刚才logout的sessionId,因为logout了,当然是找不到session了,理所当然报错
解决方法:
1.修改查询账户信息接口
兼容用户名为数字时的情况
注:公共调用接口,不可改动太大,尽量兼容,避免其他调用接口的位置报错
2.解决报错问题
将原有跳转页面处理改为跳转redirect
其中:flag为原有页面中登陆错误信息标志位
参考文献:http://www.360doc.com/content/14/0730/14/11298474_398125873.shtml#
- 背景:系统登录,原允许用户名、手机号码、邮箱三者之一加密码进行登录,故在注册时严格限制注册用户名不能以数字开头,避免用户名与手机号码区分不开,即造成从数据库读取数据时出错的问题
- 问题:刚刚接手,不了解之前的业务逻辑以及注册限制,且现在取消了手机号码以及邮箱登陆,导致用一串数字注册用户名时没有进行限制,注册成功了,但登录时报错
原因:
- 用户名为一串数字,调用底层接口根据用户查询相应用户信息时误将其作为手机号码进行查询,结果为空,抛出异常
- 根据新的业务逻辑,此处不仅仅是登陆逻辑,而要判断账号所关联的商户的审核状态,故若用户登录后,依然要判断其审核状态,若不符合登陆要求,强制其推出登录
处理过程:
1.session过期时间太短,导致session过期找不到session报错,
这里org.apache.shiro.web.session.mgt.DefaultWebSessionManager设置session时间
globalSessionTimeout时间太短 这个单位是毫秒,建议设置长点时间
2.时间修改长后,还是报错,但是可以执行 SecurityUtils.getSubject().logout();程序执行到return "index";报错
logout可以安全正确退出,session也可以删除,授权信息,认证信息也会被清除(debug进去可以看到的)
但是如果直接return就会报错
3.DEBUG方式
org.apache.shiro.session.UnknownSessionException: There is no session with id
debug进去发现,直接return程序还是会查找你刚才logout的sessionId,因为logout了,当然是找不到session了,理所当然报错
解决方法:
1.修改查询账户信息接口
兼容用户名为数字时的情况
注:公共调用接口,不可改动太大,尽量兼容,避免其他调用接口的位置报错
2.解决报错问题
将原有跳转页面处理改为跳转redirect
@Result(name = ERROR, params = {"flag", "${flag}"}, type = ResultTypeConstants.REDIRECT, location = "/loginpage.do")
其中:flag为原有页面中登陆错误信息标志位
参考文献:http://www.360doc.com/content/14/0730/14/11298474_398125873.shtml#
发表评论
-
Publishing failed with multiple errors file not found
2017-11-10 22:39 873问题场景: Java Web项目 ... -
attempted to return null from a method with a primitive return type (int)
2017-10-25 22:52 3189异常背景 mybatis mapper.xml 中 resul ... -
java.lang.UnsupportedOperationException
2017-10-24 21:42 362异常背景: 遍历集合进行元素删除操作 异常描述: Str ... -
can not find xxx.xxx
2017-10-03 10:20 404问题描述: 单元测试一个已离职同事的接口,运行时提示 po ... -
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '
2017-10-02 18:33 611问题场景: 启动 Tomcat 时报错,org.spring ... -
java.lang.OutOfMemoryError: Java heap space
2017-10-02 18:02 436问题描述: 新来的同事,安装JDK、Eclipse 、Tom ... -
No result defined for action
2017-09-26 21:56 577问题场景: 项目设计模式:SpringMVC 调试程序过程中 ... -
attempted to return null from a method with a primitive return type (double)
2017-09-26 21:58 1528问题场景: 服务启动正常,MyBatis Interface ... -
No matching bean of type dao found for depende
2017-09-26 21:46 851问题场景: 项目设计模式:Spring MVC + MyBat ... -
Shrio中session与Http中Session
2016-06-14 17:46 646问题:为什么代码中没有向页面传值的操作,页面中依然可以使用se ... -
1030 Got error 28 from storage engine
2016-05-24 22:25 1313现象:调试程序过程中,突然报错,显示数据检索失败,数据库连接超 ... -
基于SHIRO的管理后台权限认证系统实现(一)
2015-07-09 10:05 7003基于SHIRO的管理后台权限认证系统实现(一) 一、项目需求 ... -
java Excel poi exception
2015-06-11 16:41 675一、 问题:java导出Exce ... -
The reference to entity "locale" must end with the ';' delimiter.
2015-06-02 15:12 1815问题: 修改web.xml 文件中的拦击器中的URL后 报错T ... -
xxxList not found
2015-05-20 08:51 670问题:MyBatis接口中以list作为参数类型,在mappe ... -
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JD
2015-05-17 16:39 602问题:运行单元测试类(比较重载与重写的区别)时报错, ERRO ... -
Result Maps collection already contains value for mapper.XXX
2015-05-14 08:53 2122问题:运行单元测试类时报错 原因:应该用resultMap来 ... -
Unable to find resource
2015-05-13 20:32 731场景: 配合JS调试时,出现上面的异常,且数据可以正常接收,程 ... -
target is null for setProperty
2015-05-13 15:00 723问题:ognl.OgnlException: target i ... -
语法错误,查询条件中带有多余的单引号
2015-05-07 09:27 722场景:列表检索功能,查询条件中带有英文单引号,点击查询,系统异 ...
相关推荐
1. **org.apache.shiro.core.jar**:这是Shiro的核心模块,提供了基本的安全服务,如身份验证、授权、会话管理等。 2. **org.apache.shiro.web.jar**:此jar包包含Web相关的组件,用于在Web应用中集成Shiro,例如...
Maven坐标:org.apache.shiro:shiro-crypto-hash:1.4.0; 标签:apache、shiro、crypto、hash、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性...
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
Maven坐标:org.apache.shiro:shiro-cache:1.4.0; 标签:apache、shiro、cache、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...
Apache Shiro是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,可以简化开发人员处理安全的复杂性。Shiro适用于各种应用,从小型独立应用到大型分布式系统,都能有效地支持。 在"shiro-...
at org.apache.shiro.session.mgt.eis.CachingSessionDAO.getActiveSessions(CachingSessionDAO.java:345) at com.ehr.security.shiro.SystemAuthorizingRealm.doGetAuthenticationInfo(SystemAuthorizingRealm....
6. **org.apache.shiro.session**: 会话管理模块,负责用户的会话状态维护,可以跨应用和服务器集群共享会话信息。 7. **org.apache.shiro.subject**: Shiro的核心概念,代表当前操作的主体(如用户),包括其认证...
org.crazycake.shiro包是对Apache Shiro的扩展,提供了Redis的集成方案。这个改造后的源码很可能是对org.crazycake.shiro中的`RedisSessionDAO`、`RedisCacheManager`等组件进行了优化,以适应Redis集群的需求。例如...
Maven坐标:org.apache.shiro:shiro-crypto-hash:1.4.0; 标签:apache、shiro、crypto、hash、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
<bean class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager"> <property name="globalSessionTimeout" value="1800000"/> <property name="sessionMode" value="native"/> <!-- 或 http -->...
<groupId>org.apache.shiro <artifactId>shiro-spring <version>1.7.1 <groupId>org.apache.shiro <artifactId>shiro-core <version>1.7.1 <!-- 其他相关依赖 --> ``` 总之,Apache Shiro是一个强大且灵活...
Apache Shiro 是一个强大且易用的Java安全框架,提供了身份认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。标题中的"shiro1.7.1.zip"表明这是一个包含Apache Shiro 1.7.1版本所有核心模块的压缩包,...
在 web 应用中,可以通过配置 `shiro.ini` 或者 `Web.xml` 来定制过滤器。 6. **Caching**:Shiro 支持缓存管理,可以缓存认证和授权信息,提高性能。 7. **Testing**:源码中包含了测试用例,帮助开发者理解和...
`com.jagregory.shiro.freemarker.ShiroTags` 是 Jagregory 开发的一个扩展,将 Apache Shiro 的安全功能与 Freemarker 模板引擎相结合。这个类库提供了一系列的 Freemarker 标签,允许开发者在 Freemarker 模板中...
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at ...
shiro-all-1.7.1.jar,shiro-aspectj-1.7.1.jar,shiro-cache-1.7.1.jar,shiro-config-core-1.7.1.jar,shiro-config-ogdl-1.7.1.jar,shiro-core-1.7.1.jar,shiro-crypto-cipher-1.7.1.jar,shiro-crypto-core-1.7.1.jar...
Aries项目正在提供一组可插入的Java组件,以支持企业OSGi应用程序编程模型。 这包括由OSGi联盟企业专家组(EEG)定义的以应用程序为中心的规范的实现和扩展,以及用于多捆绑应用程序的组装格式,以便将其部署到各种...
Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业会话管理和加密等。