我正在使用Spring Security 3.2.3。释放
这是我的WebSecurityConfigrerAdapter的代码
@Configuration
@EnableWebSecurity
public class WebSecurityContext extends WebSecurityConfigurerAdapter {
private static final Logger log = LogManager.getLogger(WebSecurityContext.class);
@Autowired
private AuthenticationProvider authenticationProvider;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
log.info("Setting AuthenticationManagerBuilder");
auth.authenticationProvider(authenticationProvider);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
log.info("Configuring HttpSecurity");
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/**").hasRole("USER")
.anyRequest().authenticated()
.and()
.httpBasic();
}
}
结果是:HTTP状态403-访问被拒绝
但是如果我评论这一行:
//.antMatchers("/**").hasRole("USER")
一切正常。这意味着(我猜)我的角色或HttpSecurity有问题。
所以我开始调试。我仔细检查我的用户详细信息是否有两个具有名称的授权:ADMIN、USER。
你知道是什么导致了这个问题吗?
显然,Spring Security会自动为每个角色名称添加前缀ROLE\uu。因此,将ROLE\uprefix添加到my DB中的每个角色名称中就解决了这个问题。
从方法的javadoc中,hasRole(字符串角色):
指定URL的快捷方式需要特定的角色。如果不想自动插入“ROLE\u0”,请参阅hasAuthority(String)。
因此,您可以使用hasAuthority或hasAnyAuthority
我试图在一个带有spring security和KeyClope的java应用程序中同时使用领域和资源角色。不幸的是,KeyClope只会返回一个或另一个,具体取决于: 您仍然可以通过自定义代码获得这两种方法,但它会弄乱@PreAuthorize或spring boot方法等注释。isUserInRole,这会导致难看的代码。 有没有办法覆盖@PreAuthorize方法或JSON令牌Keyclo
本文向大家介绍如何使用SpringSecurity保护程序安全,包括了如何使用SpringSecurity保护程序安全的使用技巧和注意事项,需要的朋友参考一下 首先,引入依赖: 引入此依赖之后,你的web程序将拥有以下功能: 所有请求路径都需要认证 不需要特定的角色和权限 没有登录页面,使用HTTP基本身份认证 只有一个用户,名称为user 配置SpringSecurity springsecur
我正在使用Spring引导安全层来验证和授权user.Now,我想使用多超文本传输协议安全配置做一些示例应用程序。我有这样的场景,比如将有两个具有不同URL映射的登录页面(“/Management ementLogin”、“/thersLogin”)。 我可以理解如何配置多httpSecurity配置,但我需要验证用户从两个tables.If管理用户登录我需要验证用户从管理表通过DAO层使用否则,
根据Angular CDK拖放文档,所有可拖放项都应使用迭代数组的指令编写。但是,如果我想使可拖放的项目是角度组件呢?什么是使它们可放下的程序? 例如,下面的代码是呈现一个普通的可删除div。如果我想在第二行渲染多个角度组件,该怎么办?在这种情况下,我不能使用指令,因为每个角组件都非常不同,我不能将它们保留在任何数组中。 怎么才能做到像下面这样呢?(以下代码不起作用) 我的主要目标是制作一个小部件
我正在学习springsecurity(基于java的配置),我无法使注销正常工作。当我点击注销时,我看到URL更改为http://localhost:8080/logout并获取“HTTP 404-/logout”。登录功能工作正常(即使使用自定义登录表单),但问题是注销,我怀疑重定向的url“localhost:8080/logout”应该类似于“localhost:8808/springte
此页面描述如何使用清单将应用程序应用程序角色添加到Azure Active Directory中的应用程序。 页面中的代码示例: 当从使用授予类型进行身份验证的应用程序调用Azure函数时,如何将其强制为属于应用程序角色? 我谷歌了一下,但找不到解释如何为Azure Functions进行此授权的明确留档。 我的测试功能应用程序 我创建了一个简单的“你好” 首先,我使用