`
spacefly
  • 浏览: 277940 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

security 获得登陆用户

    博客分类:
  • java
阅读更多

如何在 security 中 获得 user 信息?

由 security 管理权限后,登陆也由security来管理,因此如果不修改或扩展security的登陆机制,则无法手动设置user到session;

为了获得用户信息,有2种方案:

(1) 当用 UserService 的实现类 获取用户时,将用户设入 session ,注意不要设置密码等安全信息,这样就可以直接从session中获得user信息了,但缺点是无论是否登陆成功都设置了session信息;

(2) security中已经用某种方式保存了登陆用户的信息,可以使用下面的实用类来获得登陆的用户;

 

package com.spaceflysky.tools;

import org.apache.log4j.Logger;
import org.springframework.security.Authentication;
import org.springframework.security.context.SecurityContextHolder;
import com.spaceflysky.domain.User;

/**
 * 从 security 中获得已登录用户信息;
 * 
 * @author space
 * @date Oct 6, 2008 5:58:58 PM
 */
public class SecurityUserTool {
 protected static Logger log = Logger.getLogger(SecurityUserTool.class);

 private static final Authentication getAuthentication() {
  return SecurityContextHolder.getContext().getAuthentication();
 }

 /**
  * 获得登陆的用户
  * 
  * @return
  */
 public static final User getUser() {
  User user = null;
  try {
   user = (User) getAuthentication().getPrincipal();
  } catch (Exception e) {
   log.error("------ Get login user error ------ !", e);
  }
  return user;
 }
}

 

分享到:
评论

相关推荐

    spring-security多个登录页面配置

    在Spring Security框架中实现多个登录页面的配置是一项高级特性,主要应用于区分前端用户与后端管理员的不同登录需求。本文将详细介绍如何通过Spring Security配置多个登录页面,并为不同类型的用户设置不同的登录...

    spring oauth2获取当前登录用户信息.docx

    在Spring OAuth2框架中,获取当前登录用户信息的过程与Spring Security有所不同。通常,Spring Security允许我们通过`SecurityContextHolder.getContext().getAuthentication().getPrincipal()`来获取详细的用户信息...

    用户权限管理 Security Administrator.zip

    了解这些基本概念和文件后,你可以开始安装和配置"Security Administrator",根据你的服务器环境和安全策略定制用户权限设置,确保你的服务器资源得到妥善保护。记住,良好的用户权限管理是任何IT系统安全的基石,...

    SpringSecurity5.7.11实现用户认证和记住我功能

    下次用户访问时,框架会使用这个令牌来自动登录用户。 4. **安全考虑**:“记住我”功能增加了安全性风险,因为如果用户的设备被他人使用,他们可能会被自动登录。因此,应谨慎使用并告知用户其潜在风险。 以上...

    spring-security 官方文档 中文版

    - **获得当前用户的信息**:通过 SecurityContextHolder 获取当前用户的 Authentication 对象。 - **UserDetailsService**:提供查询用户信息的服务接口。 - **GrantedAuthority**:表示用户具有的权限或角色。 - *...

    spring security3 中文版本

    - **获得源代码**:可以从 GitHub 或 Maven 仓库获取 Spring Security 的源代码。 #### 二、Spring Security 命名空间配置 ##### 2.1 命名空间的设计 Spring Security 提供了一个简洁的命名空间,用于简化配置...

    Spring Security 教程(Spring Security Tutorial)1

    - 用户登录后,Spring Security 可以根据用户的角色分配不同的访问权限。它支持自定义角色和权限映射,实现灵活的访问控制策略。 6. **基于 JWT 的认证**: - JSON Web Token (JWT) 是一种轻量级的身份验证机制,...

    Spring Security 安全管理

    - **GrantedAuthority(权限)**:当用户成功认证后,会得到一组 GrantedAuthority,表示该用户被授予的权限。这些权限可以用于决定用户能访问哪些资源。 1.2 Spring Security 安全管理的原理 - **Spring Security...

    Spring Security权限管理开发手册

    - **获取当前用户信息:** 通过API接口或其他方式查询当前登录用户的信息。 - **第7章:自定义访问拒绝页面** - **实现自定义拒绝页面:** 当用户尝试访问未授权的资源时,显示特定的拒绝页面。 - **第8章:动态...

    springsecurity3.1.pdf

    通过加入社区,开发者不仅可以获得最新的安全动态和技术支持,还能与其他安全专家交流心得,共同推动Spring Security的发展。 总之,Spring Security 3.1是一个全面而强大的安全框架,它不仅提供了丰富的安全功能,...

    SpringSecurity权限管理

    角色是一组预定义的权限集合,用户通过被分配角色来获得相应的权限。例如,"管理员"角色可能包含查看所有数据、修改数据等权限,而"普通用户"角色则可能只有查看数据的权限。 SpringSecurity的权限管理主要基于以下...

    Spring Security 中文教程.pdf

    - **获得源代码**:可以通过官方网站或其他途径获取Spring Security的源代码,以便深入了解其内部实现机制。 - **核心模块**: - **Core - spring-security-core.jar**:包含核心安全性功能,如认证、授权等。 -...

    Spring Security学习总结一

    - **CAS处理过滤器**:用于单点登录场景,验证CAS服务是否已对用户进行认证。 - **HTTP基本授权过滤器**:处理HTTP基本认证请求。 - **集成过滤器**:管理认证信息在请求间的传递,例如在HTTP会话中存储认证状态。 -...

    spring boot security学习练习demo源码

    6. **Remember Me**:Spring Security也提供了Remember Me服务,允许用户在一段时间内无须重新登录。这通常涉及到对用户密码哈希后的持久化存储。 7. **CSRF保护**:为了防止跨站请求伪造(Cross-Site Request ...

    spring_security3_0_5安全配置手册

    文档中提到,Spring Security采用就近原则进行权限验证,意味着用户访问资源时会按照配置的规则顺序执行,最先匹配到的规则将被执行,从而决定用户是否有权访问该资源。 #### 9. 注意事项 由于文档是通过OCR扫描...

    spring-security-one完整版.rar

    在SSM项目中,Spring Security可以帮助我们实现用户登录、权限控制等功能。例如,你可以设置不同角色的访问权限,限制某些用户只能访问特定的URL或执行特定的操作。 描述中提到的"sql.sql"文件可能是项目所需的...

    SpringSecurity4.0.4官方文档

    10. **RESTful支持**:在Spring Security 4.x中,针对RESTful服务的安全控制得到了强化,支持JSON Web Token(JWT)和OAuth2。 11. **API文档**:`apidocs`目录下的文档提供了详细的API参考,帮助开发者理解和使用...

Global site tag (gtag.js) - Google Analytics