手动注入SecurityUtils.getSubject().getPrincipal()
时间: 2023-12-01 07:03:12 浏览: 208
注入的核心代码
5星 · 资源好评率100%
手动注入 `SecurityUtils.getSubject().getPrincipal()` 通常用于在不依赖框架的情况下获取当前登录用户信息。这通常需要手动在代码中注入该信息。
具体实现方式如下:
1. 首先,你需要将用户信息存储到 `SecurityUtils.getSubject().getSession()` 中。可以通过以下代码实现:
```
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
session.setAttribute("user", user);
```
这里的 `user` 是你自己定义的用户对象。
2. 然后,你需要在需要获取用户信息的地方手动注入 `SecurityUtils.getSubject().getPrincipal()`。例如:
```
Subject currentUser = SecurityUtils.getSubject();
User user = (User) currentUser.getPrincipal();
```
这里的 `User` 是你自己定义的用户对象。
需要注意的是,这种方式获取用户信息需要自己手动管理用户登录状态,包括用户的登录、注销等操作,因此不如使用框架提供的安全认证机制来管理用户登录状态更加方便和安全。
阅读全文