jeesite html获取当前登陆人信息
时间: 2024-09-12 21:05:13 浏览: 41
在JeeSite框架中,获取当前登录用户的详细信息通常需要通过Spring Security提供的用户授权管理机制。首先,你需要在Web配置中启用UserDetailsService和AuthenticationManager,这会在每次请求头验证成功后返回已登录的用户。
如果你使用的是Shiro或者Cas等身份验证库,可以在`WebSecurityConfigurerAdapter`或相应的安全配置文件中设置。比如,你可以获取到`SecurityContext`对象,然后从中获取到`Authentication`对象,进一步可以得到`Principal`(通常是`UsernamePasswordAuthenticationToken`),该对象包含了用户名。
以下是一个简化的示例:
```java
@Autowired
private SecurityContext securityContext;
public String getCurrentLoginUserInfo() {
Authentication authentication = securityContext.getAuthentication();
if (authentication != null) {
Principal principal = authentication.getPrincipal();
if (principal instanceof UsernamePasswordAuthenticationToken) {
UsernamePasswordAuthenticationToken token = (UsernamePasswordAuthenticationToken) principal;
Object credentials = token.getCredentials();
// 如果credentials是UserDetails,可以直接访问其信息
User userDetails = (User) credentials;
return userDetails.getUsername(); // 返回用户名作为示例
}
}
return null; // 用户未登录或权限不足
}
```
阅读全文