首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Tomcat取消部署时,Apache Shiro Enums仍在内存中

是因为Tomcat在取消部署时并不会主动清理内存中的对象,而Apache Shiro Enums是一个枚举类型的对象,它们在内存中会一直存在直到被垃圾回收。

Apache Shiro是一个用于身份验证、授权和会话管理的强大的Java安全框架。Enums是Shiro框架中的一个重要组件,它定义了一组常量,用于表示不同的权限和角色。Enums对象在Shiro框架初始化时被加载到内存中,并在整个应用程序的生命周期中保持不变。

当Tomcat取消部署时,它会销毁Web应用程序的所有相关资源,包括Servlet、过滤器、监听器等,但并不会主动清理内存中的对象。这意味着Apache Shiro Enums对象仍然存在于内存中,尽管Web应用程序已经被取消部署。

为了解决这个问题,可以在Tomcat的上下文销毁事件中手动清理内存中的Enums对象。可以通过实现ServletContextListener接口,在contextDestroyed()方法中添加清理代码。具体的清理代码可以通过调用Enums的静态方法来清除内存中的对象。

另外,为了更好地管理内存和资源,可以考虑使用容器化技术,如Docker,将应用程序部署在容器中。当容器被销毁时,所有与应用程序相关的资源都会被自动清理,包括内存中的Enums对象。

总结起来,当Tomcat取消部署时,Apache Shiro Enums仍在内存中是因为Tomcat不会主动清理内存中的对象。为了解决这个问题,可以在Tomcat的上下文销毁事件中手动清理内存中的Enums对象。使用容器化技术也可以更好地管理内存和资源。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

研判特征流量

(sb.toString(), new Feature[] {Feature.SupportNonPublicField}); #第二种利用方式: 则需要应用部署在Tomcat应用环境中,因为Tomcat...应用环境自带tomcat-dbcp.jar 对于SpringBoot这种自带Tomcat可以直接以单个jar文件部署的需要在maven中配置tomcat- dbcp。...而且对于不同的Tomcat版本使用的poc也不同:Tomcat 8.0以后使用 org.apache.tomcat.dbcp.dbcp2.BasicDataSource• Tomcat 8.0以下使用...org.apache.tomcat.dbcp.dbcp.BasicDataSourcelog4j流量特征:原理:该漏洞主要是由于日志在打印时当遇到`${`后,以:号作为分割,将表达式内容分割成两部分,前面一部分...,由于var_pathinfo的默认配置为s,我们可利用$_GET['s']来传递路由信息,也可利用pathinfo来传递,但测试时windows环境下会将$_SERVER['pathinfo']中的\

53810
  • 龙果支付系统搭建与部署

    安全框架:Apache Shiro 1.2.5 日志管理:SLF4J 1.7.21、Log4j 1.2.17 数据库连接池:Druid 1.0.19 消息总线:ActiveMQ 5.11.4 工具包:fastjson...1.2.11 jQuery 框架:DWZ 系统运行环境 3.1 软件环境: MySQL JDK1.7或以上 apache-tomcat-7.0或其他容器 ActiveMQ 5.11 3.2 硬件环境...(最小配置): CPU:1核 内存:1G 安装部署 4.1 说明 运营管理系统登录账号密码:admin/123456 商户后台系统登录账号密码:在boss运营后台添加用户时录入手机和密码 roncoo-pay-common-core...:对账应用工程,独立jar方式启动 roncoo-pay-app-settlement:结算应用工程,独立jar方式启动 roncoo-pay-web-boss:运营管理后台,部署tomcat启动...roncoo-pay-web-gateway:支付网关工程,部署tomcat启动 roncoo-pay-web-sample-shop:模拟商城工程,部署tomcat启动 roncoo-pay-web-merchant

    2K10

    shiro——会话管理

    一、会话管理    Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如Tomcat、WebLogic),不管是J2SE还是J2EE环境都可以使用,提供了会话管理,会话事件监听,会话存储/持久化...所谓会话,即用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据。...如访问一些网站时登录成功后,网站可以记住用户,且在退出之前都可以识别当前用户是谁。...memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。...clearOnFlush:内存数量最大时是否清除。

    1K30

    shiro框架04会话管理+缓存管理+Ehcache使用

    安全管理器中设置缓存管理器 4)开启Shiro的授权或者认证数据缓存 ---- 一、会话管理 Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如Tomcat、WebLogic),不管是J2SE...所谓会话,即用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据。...如访问一些网站时登录成功后,网站可以记住用户,且在退出之前都可以识别当前用户是谁。...--maxElementsInMemory:在内存中缓存的element的最大数目--> 内存中数据超过内存限制,是否要缓存到磁盘上--> 在磁盘上持久化。指重启jvm后,数据是否有效。

    93810

    常见未授权访问漏洞实例

    问题出在 Apache2 和 Tomcat 对 URL 处理的方式不一致,导致特定的 URL 可以绕过验证。...在 Shiro 的处理过程中,会截断“;”后面的内容,虽然 Payload 的形式与 F5 的漏洞一样,但具体流程不太相同。将“;”处理后,Shiro 会与配置中的过滤器进行比对。...而通过校验后再传入 Spring 之中,在 Spring 的处理流程下,和 Tomcat 一样,删除“;”和删除“../”并返回上一级目录。 进入Shiro处理 => /xxxxx/.....通体来说这两种绕过的方式,是 Shiro 在处理 URL 时的逻辑问题。...程序默认配置可能存在隐患 正如本文 Redis、jenkins,默认配置并未配置密码,并且如若服务部署在公网 IP 上,且未对来源 IP 进行过滤,那么很可能造成安全事故。

    2.9K10

    Maven项目中常用jar包的坐标以及用法(个人总结)

    在配置时,只需要将maven项目的类型改为pom,然后将本博文最后的模板引入即可. 在parent项目写好以后, 创建自己的项目,注意要填写父项目!!!...Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。 坐标 在 developerWorks 上其新系列的第一篇文章中,软件工程师Mark Kolb 向您展示了如何使用 JSTL 标记来避免在 JSP 页面中使用脚本编制元素。...在引入坐标时,一般与日志包一起添加 坐标 org.apache.shiro shiro-core部署插件 介绍 无需打开tomcat即可部署web项目,可实现虚拟机和windows上的热部署, 需要在坐标外部加 build双标签进行逻辑引入 . .具体看本人关于maven的博文 坐标

    3.2K11

    解决org.apache.shiro.session.UnknownSessionException: There is no session with id的问题

    一、背景   最近在整合了Spring+Shiro+Redis实现tomcat集群session共享的问题之后,发布以后运行以后发现老是会出现:org.apache.shiro.session.UnknownSessionException...二、出现这个问题的原因   只所以出现这个问题是因为在shiro的DefaultWebSessionManager类中,默认Cookie名称是JSESSIONID,这样的话与servlet容器名冲突,...如jetty, tomcat等默认JSESSIONID, 当跳出shiro servlet时如error-page容器会为JSESSIONID重新分配值导致登录会话丢失!   ...明白了出现这个问题的原因,就好办了,我们只需要自己指定一个与项目运行容器不冲突的sessionID就好了,具体如下,在spring-shiro.xml中进行如下配置: shiro+redis集成实现tomcat集群session共享的童鞋,请移步:Shrio+Redis实现tomcat集群共享session

    2.9K30

    框架安全之Shiro渗透复现

    全面——没有其他安全框架的宽度范围可以同Apache Shiro一样,它可以成为你的“一站式”为您的安全需求提供保障。 灵活——Apache Shiro可以在任何应用程序环境中工作。...服务端在接收到一个Cookie时,会按照如下步骤进行解析处理: 检索RememberMe Cookie的值 进行Base64解码 进行AES解码 进行反序列化操作 在第4步中的调用反序列化时未进行任何过滤.../download/](https://www.java.com/zh-CN/download/) 默认下一步安装即可 2、Tomcat8.x安装 下载地址:[https://tomcat.apache.org.../download-80.cgi](https://tomcat.apache.org/download-80.cgi) 默认下一步安装即可 3、部署Shiro war包 将whiro.war包放置C:...即访问/index时无需登陆,而访问/user/test时需要登陆认证。 #Shiro.ini/index = anon/user/** = authc------Ant格式:?

    3K40

    SpringBoot集成MyBatisPlus

    静态资源 │ ├─upload 上传文件 │ ├─WEB-INF │ ├─templates 页面FreeMarker模版 技术选型: 核心框架:Spring Boot 1.5.1 安全框架:Apache...请尝试强制删除target目录下的所有文件) mvn clean package spring-boot:repackage 会在target目录生成wstro.war 直接部署Tomcat...seo.description 网页描述 (如果是中文,请进行Unicode转码 http://tool.chinaz.com/tools/unicode.aspx) server.port 服务端口 (部署在...Tomcat上以Tomcat为准) server.contextPath 服务器上下文路径 (部署在Tomcat上以Tomcat为准) spring.mail 设置邮件的端口...目录下面生成一个war包 直接部署Tomcat运行 此处Redis缓存注解和EhCache缓存注解只能使用1个 使用 @Primary标注 演示效果图: ?

    1.6K20

    浅谈 URL 解析与鉴权中的陷阱

    (org.apache.tomcat.util.threads) run:829, Thread (java.lang) 注: 这里使用的 Tomcat 为 9.0.78 版本,是文章编写时 Tomcat9...在 Tomcat 中请求对应的路由是存放在 request.mappingData 中的。...在 Tomcat 中默认有两个,分别是 jsp 和 jspx,都对应 org.apache.jasper.servlet.JspServlet; welcomeResources: 如果 URL 的最后一个字符是...结尾的 URI,先在末尾额外添加一个 /; 递归解析 URI 中的 /./ 字符串,将其替换为 /; 递归解析 URI 中的 /../ 字符串,移动相应的目录; 在解析 /../ 时如果超出了根目录会直接返回...Shiro Apache Shiro 是一个简单易用的认证和鉴权管理框架,虽然本身支持许多场景,但常用于 Web 应用中的身份认证和路径鉴权。

    76660

    【tomcat】不同域名解析到同一tomcat不同项目上 windows 环境下nginx + tomcat群 + redis 实现session共享

    这些项目都部署在同一个tomcat上的    解决步骤:         1.首先把所有域名都解析到这台服务器上,解析时只能填写ip地址,不能指定端口的,默认访问解析IP的80端口     2.把web...项目部署在tomcat安装目录下,需要和默认的webapps目录平级,并且直接将web项目打包为ROOT.war 启动时会解压到ROOT文件夹      目录结构如下: ?...所在服务器ip 端口8080 请修改为80,否则需要在域名后面加端口 下面每个项目都解析了两次,是为了用户在输入网址时,不管有没有www...群 + redis 实现session共享 2016年1月29日22:02更新 为了测试两个标准的spingmvc+hibernate+shiro web项目到底启动需要消耗多少内存,又发现了些问题 因为要部署两个项目...-7.0.11\site1\ROOT\] instead of [D:\dev\apache-tomcat-7.0.11\webapps\ROOT\] - Choose unique values for

    1.1K30

    Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300%的秘密武器

    今天,我们要介绍的是一个在GitHub上广受好评的开源项目——Jeesite5。这不仅是一个技术框架,更是企业级应用开发的加速器。...权限配置在系统管理模块中,配置用户、角色和权限,确保系统的安全性。5. 代码生成使用Jeesite5的代码生成器,快速生成基础代码,提高开发效率。6....测试与部署在本地环境进行测试,确保功能正确无误后,将应用部署到生产环境。...svg图片的文件夹│ ├── components 公共组件│ ├── design 样式文件│ ├── directives 指令│ ├── enums...部署到Tomcat的属性配置├── .eslintrc 脚本检查格式化配置├── .prettierrc 代码格式化配置├── .stylelintrc

    14210

    Shiro RememberMe 漏洞检测的探索之路

    前言 Shiro 是 Apache 旗下的一个用于权限管理的开源框架,提供开箱即用的身份验证、授权、密码套件和会话管理等功能。...漏洞成因 网上相关分析已经很多,使用了 Shiro 框架的 Web 应用,登录成功后的用户信息会加密存储在 Cookie 中,后续可以从 Cookie 中读取用户认证信息,从而达到“记住我”的目的,简要流程如下...封装了一层,在该 stream 的实现中重写了 resolveClass 方法 ?...实战中常用的还有 JRMP 相关的方法,我们可以使用类似 fastjson 的方法来做 Shiro 的检测。可惜的是,这些方法在目标网站无法出网时都束手无策,而漏洞回显是解决这个问题的不二法门。...与 Shiro 搭配最多的 Web 中间件是 Tomcat,因此我们的注意力就转移到了 Tomcat 回显上。

    3.6K30

    Spring不能将包含key值为null的map集合转换成JSON

    :166) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain...at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain...:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call...:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589) at org.apache.tomcat.util.net.SocketProcessorBase.run...说明在我们需要转换的Map中包含一个元素,且这个元素的Key为 null 经过逐一排查后,将map的key设置为 null 这部分代码修复,就好了。

    2.6K10
    领券