在Shiro框架中,Session管理是一个重要的功能。以下是一个简单的Shiro JSP Session实例,展示了如何使用Shiro来创建和管理用户会话。
确保你的项目中已经添加了Shiro依赖。这里我们假设你使用的是Maven。

```xml
```
接下来,创建一个简单的Shiro配置文件`shiro.ini`,位于项目的`src/main/resources`目录下。
```ini
[main]
配置Shiro的SecurityManager
securityManager.realms = myRealm
配置Shiro的过滤器链
web.filterChain = /login.jsp = anon /logout = logout / = authc
配置会话管理
sessionManager.sessionValidationInterval = 60000
sessionManager.globalSessionTimeout = 1800000
sessionManager.sessionValidationSchedulerEnabled = true
sessionManager.sessionIdCookieEnabled = true
sessionManager.sessionIdCookie.name = JSESSIONID
sessionManager.sessionIdCookie.httpOnly = true
sessionManager.sessionIdCookie.path = /
```
然后,创建一个自定义的Realm,继承自`AuthorizingRealm`。
```java
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;
public class MyRealm extends AuthorizingRealm {
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
String username = (String) token.getPrincipal();
String password = new String((char[]) token.getCredentials());
// 这里可以添加你的用户验证逻辑
if ("








