package com.xyz.service.shiro;
import org.apache.shiro.session.Session;
import org.apache.shiro.session.SessionListener;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class ShiroSessionListener implements SessionListener {
@Override
public void onStart(Session session) {//会话创建时触发
log.error("会话创建:" + session.getId());
}
@Override
public void onExpiration(Session session) {//会话过期时触发
log.error("会话过期:" + session.getId());
}
@Override
public void onStop(Session session) {//退出/会话过期时触发
log.error("会话停止:" + session.getId());
}
}
<!-- sessionManager -->
<bean id="redisSessionManager"
class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
<property name="sessionDAO" ref="redisSessionDAO" />
<!-- Collection<SessionListener> listeners -->
<property name="sessionListeners">
<list>
<ref bean="shiroSessionListener" />
</list>
</property>
</bean>
分享到:
相关推荐
Shiro提供了事件监听机制,开发者可以通过实现Listener接口,对认证、授权等事件进行监听和处理。 11. **国际化**: Shiro支持多语言环境,允许开发者为不同的地区提供本地化的错误和提示信息。 12. **简单API**...
- **启动Shiro**:在Spring的初始化方法中启动Shiro的SecurityManager,通常在Spring的ApplicationListener中进行。 **3. 角色与权限认证** - **角色(Role)**:在Shiro中,角色是用来分配权限的逻辑实体。通常...
在Web开发中,Session是服务器用来跟踪用户状态的一种机制。当用户登录后,服务器会创建一个Session,并将用户的登录信息存储在其中。然而,Session不能永久保持,它有默认的超时时间,超过这个时间如果没有接收到...
- **启动 Shiro**:在 Spring 的 ApplicationListener 或 ServletContextListener 中初始化 Shiro。 5. **关键组件** - **SecurityManager**:Shiro 的核心组件,负责整个系统的安全管理。 - **Realm**:Shiro ...
- 为了使 Shiro 与 Spring 的生命周期同步,需要在 Spring 的初始化方法中启动 Shiro,例如在 `ApplicationListener<ContextRefreshedEvent>` 实现中启动 SecurityManager。 5. **数据库取数据**: - Shiro 的 ...
在此方法内可以实现统计在线人数的逻辑,每当一个新session创建时,在线人数计数增加。 2. `sessionDestroyed(HttpSessionEvent event)`:当HttpSession即将从与当前请求相关联的会话中移除时触发此方法。此方法适用...
在Java Web开发中,监听器(Listener)是用于监听特定事件的重要组件,它们可以扩展应用程序的功能,例如跟踪用户会话、管理应用上下文等。在本主题中,我们将深入探讨如何利用`HttpSessionAttributeListener`来实现...
包括JavaSE基础(多态、异常处理、常用API、数据类型、IO操作、集合、多...Session、jsp、xml、)JavaWeb高级(filter&listener、ajax、linux、常见的前端框架)、数据库(mysql、oracal)、框架(SpringMvc、Spring、...
2. Java Web 技术:刘某某熟练掌握 Java Web 技术,包括 JSP、Servlet、Filter、Listener、Cookie、Session 等常用技术且熟悉 HTTP 协议。 3. 框架使用:刘某某熟练使用 Struts2、SpringMVC、Spring、Hibernate、...
在Web开发方面,他对JSP、Servlet、Filter、Listener、Cookie、Session等技术有深入的理解,同时对HTTP协议有清晰的认识。 在框架应用方面,刘凯鹏熟练掌握了Struts2、SpringMVC、Spring、Hibernate、MyBatis等主流...
Listener则监听特定的事件,如session创建、销毁,用户登录、登出等,可以用于实现会话管理、权限控制等功能。 3. **JDBC与数据库连接**: Java通过JDBC(Java Database Connectivity)提供与数据库交互的能力。...
首先,JavaWeb的核心概念包括Servlet、JSP(JavaServer Pages)、过滤器(Filter)和监听器(Listener)。Servlet是Java Web应用中的服务器端程序,它扩展了Web服务器的功能,处理HTTP请求并生成响应。JSP则是动态...
6. **过滤器和监听器**:如何利用Filter截取请求和响应,以及Listener监听应用中的特定事件,例如Session监听、Request监听等。 7. **错误与异常处理**:自定义错误页面,以及如何使用try-catch-finally语句块和...
在Web技能上,刘行浩精通Java Web技术,如JSP、Servlet、Filter、Listener、Cookie、Session的运用,以及JDBC编程和DBUtil工具包。他还对MySQL数据库有深入理解,并了解Oracle数据库,同时熟悉NoSQL数据库Redis。 ...
5. **Listener(监听器)**:监听器用于监听Web应用程序中的特定事件,如session创建、销毁、请求开始、结束等。在校园管理系统中,可能使用Session监听器来管理用户的在线状态。 6. **MVC(Model-View-Controller...
- **负载均衡**:能实现基于Shiro、Redis、Nginx的session缓存,实现负载均衡。 2. **项目经验**: - **鸿翔一心堂**:这是一个类似于京东、天猫的B2C电商平台,采用了分布式系统架构,利用http协议和JSON数据...
10. **安全问题**:学习防止SQL注入、XSS攻击、CSRF攻击等常见Web安全问题的方法,以及Spring Security或Apache Shiro等安全框架的使用。 在"849.ProxyPool__derekhe"这个文件中,可能包含了关于代理池(ProxyPool...
6. **安全机制**:考虑到用户登录和权限管理,系统可能集成了Spring Security或Apache Shiro等安全框架,实现用户认证和授权功能,防止未授权访问。 7. **会话管理**:为了保持用户状态,系统会使用Session或者...