关于shiro错误的分析
错误提示:
org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code,either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton. This is an invalid application configuration.
错误原因:
在web.xml中配置shiro filter的时候,shiro filter放置位置放到了struts2 filter后面
原因分析:
如果使用struts2,那么在struts2加载静态资源的时候,需要将静态资源SecurityUtils也加载进去,如果将shiro filter放置位置放到了struts2 filter后面,那么必将导致无法加载到struts2中去,而后使用SecurityUtils.getSubject();的时候,导致出错,
解决办法:
shiro的filter应该放在struts2的 filter的上面
还可以在使用之前使用这种方式:即在SecurityUtils.getSubject();之前加入如下代码
- Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
- // 创建SecurityManager (根据配置创建SecurityManager实例)
- SecurityManager security = factory.getInstance();
- SecurityUtils.setSecurityManager(security);
这个想必不用解释了吧
相关推荐
Maven坐标:org.apache.shiro:shiro-cache:1.4.0; 标签:apache、shiro、cache、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
Apache Shiro是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,可以简化开发人员处理安全的复杂性。Shiro适用于各种应用,从小型独立应用到大型分布式系统,都能有效地支持。 在"shiro-...
11. **org.apache.shiro.mgt**: 安全管理,包括安全管理器(SecurityManager)、会话管理器(SessionManager)等核心组件的管理。 12. **org.apache.shiro.util**: 工具类和辅助类,提供通用的实用方法和辅助功能。...
Maven坐标:org.apache.shiro:shiro-crypto-hash:1.4.0; 标签:apache、shiro、crypto、hash、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性...
<groupId>org.apache.shiro <artifactId>shiro-spring <version>1.7.1 <groupId>org.apache.shiro <artifactId>shiro-core <version>1.7.1 <!-- 其他相关依赖 --> ``` 总之,Apache Shiro是一个强大且灵活...
at org.apache.shiro.session.mgt.eis.CachingSessionDAO.getActiveSessions(CachingSessionDAO.java:345) at com.ehr.security.shiro.SystemAuthorizingRealm.doGetAuthenticationInfo(SystemAuthorizingRealm....
1. **org.apache.shiro.core.jar**:这是Shiro的核心模块,提供了基本的安全服务,如身份验证、授权、会话管理等。 2. **org.apache.shiro.web.jar**:此jar包包含Web相关的组件,用于在Web应用中集成Shiro,例如...
org.crazycake.shiro包是对Apache Shiro的扩展,提供了Redis的集成方案。这个改造后的源码很可能是对org.crazycake.shiro中的`RedisSessionDAO`、`RedisCacheManager`等组件进行了优化,以适应Redis集群的需求。例如...
Maven坐标:org.apache.shiro:shiro-core:1.4.0; 标签:apache、shiro、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:org.apache.shiro:shiro-crypto-hash:1.4.0; 标签:apache、shiro、crypto、hash、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业会话管理和加密等。
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at ...
Maven坐标:org.apache.shiro:shiro-lang:1.4.0; 标签:apache、shiro、lang、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:org.apache.shiro:shiro-cas:1.2.3; 标签:apache、shiro、cas、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:org.apache.shiro:shiro-spring:1.4.0; 标签:apache、shiro、spring、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...
Maven坐标:org.apache.shiro:shiro-event:1.4.0; 标签:apache、shiro、event、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中...
Maven坐标:org.apache.shiro:shiro-cache:1.4.0; 标签:apache、shiro、cache、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中...
Maven坐标:org.apache.shiro:shiro-ehcache:1.4.0; 标签:apache、shiro、ehcache、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...
Maven坐标:org.apache.shiro:shiro-core:1.2.3; 标签:apache、shiro、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...