Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从Spring security 3.1获取当前用户角色

如何从Spring security 3.1获取当前用户角色
EN

Stack Overflow用户
提问于 2012-04-10 16:43:52
回答 6查看 68.7K关注 0票数 28

我已经从数据库中为当前用户加载了角色。我可以在JSP中使用spring安全表达式来访问用户角色,并且可以隐藏未被hasRole授权的选项和URL。现在,我希望将它放在servlet中,并在日志中显示它(或存储在用户对象会话中)。我们如何才能做到这一点?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-04-10 17:15:10

您可以尝试如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Collection<SimpleGrantedAuthority> authorities = (Collection<SimpleGrantedAuthority>)    SecurityContextHolder.getContext().getAuthentication().getAuthorities();

您在权限变量中有角色的集合。

票数 73
EN

Stack Overflow用户

发布于 2017-03-21 21:17:59

如果在Java 8上进行开发,就会变得更容易。

要获取所有用户角色:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

Set<String> roles = authentication.getAuthorities().stream()
     .map(r -> r.getAuthority()).collect(Collectors.toSet());

检查用户是否具有特定角色,例如ROLE_USER

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

boolean hasUserRole = authentication.getAuthorities().stream()
          .anyMatch(r -> r.getAuthority().equals("ROLE_USER"));
票数 35
EN

Stack Overflow用户

发布于 2012-04-10 17:11:08

尝试从HttpServletRequest调用getUserPrincipal()

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10092882

复制
相关文章
spring security 获取当前用户
controller中,直接参数注入 @RequestMapping public void execute(Principal principal){} 其他bean中 SecurityContextHolder.getContext().getAuthentication().getPrincipal()
路过君
2020/07/10
1.4K0
Spring Security 实战干货:如何获取当前用户信息
在某些场景中我们需要获取当前的用户是谁?如果你使用了Spring Secrity作为安全框架你可以通过以下手段获取当前用户。
码农小胖哥
2021/06/24
6.5K0
Spring Security 获取当前用户页面代码获取用户对象代码获取权限
页面 如果只是想从页面上显示当前登陆的用户名,可以直接使用Spring Security提供的taglib。 <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %> <div>username : <sec:authentication property="name"/></div> <sec:authentication property="name" var="a_name"/> <sec:auth
孙亖
2018/06/07
2.7K0
Spring Security - 02 从 SecurityContextHolder 中获取用户信息
新建 HelloController 控制器类,我们可以通过 SecurityContextHolder 获取用户信息(第 17 ~ 19 行):
用户6619361
2022/04/20
2K0
项目之通过Spring Security获取当前登录的用户的信息(6)
在SecurityConfig中,将注册相关的"/register.html"和"/portal/user/student/register"这2个URL添加到白名单中。
海拥
2021/08/23
1.9K0
页面获取Spring Security登录用户
spring security 把SPRING_SECURITY_CONTEXT 放入了session 没有直接把username 放进去。下面一段代码主要描述的是session中的存的变量,
一个会写诗的程序员
2018/08/17
1K0
Spring Boot 3.1 中如何整合Spring Security和Keycloak
在今年2月14日的时候,Keycloak 团队宣布他们正在弃用大多数 Keycloak 适配器。其中包括Spring Security和Spring Boot的适配器,这意味着今后Keycloak团队将不再提供针对Spring Security和Spring Boot的集成方案。
程序猿DD
2023/08/09
1.1K0
Spring Boot 3.1 中如何整合Spring Security和Keycloak
Spring Security OAUTH2 获取用户信息
作用:二者皆是为了check token,并且顺带返回了用户信息。配置信息位置在资源服务器上。
全栈程序员站长
2022/10/04
1.6K0
Spring Security OAUTH2 获取用户信息
spring security reactive获取security context
本文主要研究下reactive模式下的spring security context的获取。
code4it
2018/09/17
3.5K0
Spring Security 实战干货:如何保护用户密码
上一文我们对Spring Security中的重要用户信息主体UserDetails进行了探讨。中间例子我们使用了明文密码,规则是通过对密码明文添加{noop}前缀。那么本节将对 Spring Security 中的密码编码进行一些探讨。
码农小胖哥
2019/12/05
8810
Springsecurity从当前请求对象中获取用户信息
SpringMVC中Controller的请求参数都是当前请求HttpServletRequest带来的,Authentication Principal也是HttpServletRequest带来的,在Controller层我们拿到的是HttpServletRequest的实例是Servlet3SecurityContextHolderAwareRequestWrapper
周杰伦本人
2022/10/25
2.9K0
Spring Cloud Security进行基于角色的访问控制
Spring Cloud Security是Spring Cloud框架下的安全模块,用于为分布式应用程序提供安全性。它提供了许多功能,如身份验证、授权和基于角色的访问控制。其中,基于角色的访问控制是Spring Cloud Security中非常重要的功能之一,它可以帮助开发者实现细粒度的权限控制。
堕落飞鸟
2023/04/14
1.1K0
php 获取当前用户的IP
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120514.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/15
2.6K0
13.12 Spring Boot集成Security中遇到的问题13.12 Spring Boot集成Security中遇到的问题问题1:Spring Boot集成Security使用数据库用户角色
13.12 Spring Boot集成Security中遇到的问题 问题1:Spring Boot集成Security使用数据库用户角色权限用户名问题 问题描述 代码 package com.springboot.in.action.dao import java.util.List import com.springboot.in.action.entity.User import org.springframework.data.jpa.repository.Query import org.spr
一个会写诗的程序员
2018/08/20
1.3K0
Spring Security 简单配置用户存储
@EnableWebSecurity注解将会启动Web安全功能,但它本身并没有什么功能。Spring Security必须配置在一个实现了WebSecurityConfigurer的bean中,或者扩展WebSecurityConfigurerAdapter,扩展该类是最简单的配置方法。
Tim在路上
2020/08/04
7810
【说站】zblog如何根据用户ID获取当前用户的相关信息
我们在制作zblog模版或修改个性化zblog模版功能时候,有时我们会需要显示出当前用户的相关信息,比如想要显示当前文章作者的名称、头像等相关信息,但是又不知道如何下手,其实我们可以使用zblog程序内置的函数来调用用户的相关信息。下面就来给大家带来zblog如何根据用户ID获取当前用户的相关信息。
很酷的站长
2022/11/24
3.1K0
【说站】zblog如何根据用户ID获取当前用户的相关信息
spring security5.x Oauth2 获取当前客户端授权信息
使用方法参数注解@RegisteredOAuth2AuthorizedClient,可以实现解析访问令牌
路过君
2021/12/07
1.5K0
Spring Security 4 基于角色的登录例子(带源码)
原文网址: http://websystique.com/spring-security/spring-security-4-role-based-login-example/
明明如月学长
2021/08/27
1.2K0
spring security filter获取请求的urlpattern
本文主要讲一下如何在spring security filter里头获取请求的HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE
code4it
2018/09/17
1.5K0
mysql如何获取当前时间
获得当前日期+时间(date + time)函数: select now(); select current_timestamp(); select localtime(); select localtimestamp(); select sysdate(); 设置默认当前时间: CURRENT_TIMESTAMP 获得当前日期(date)函数: curdate()  =  current_date() 获得当前时间(time)函数: curtime()  =  current_time() 获得当前 UT
红目香薰
2022/11/29
6.9K0

相似问题

如何使用Spring Security获取当前用户的角色

11

如何使用spring security从LDAP获取用户角色?

230

Spring Security 3.1中的默认角色

20

Grails Spring Security (获取当前用户)

30

如何从spring security获取当前登录的用户对象?

1216
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文