gpt4 book ai didi

java - 如何为特定的url启用spring security

转载 作者:太空宇宙 更新时间:2023-11-04 10:26:48 25 4
gpt4 key购买 nike

我使用 spring security,我的配置是

@Override
protected void configure(HttpSecurity http) throws Exception {
http.
authorizeRequests()
.antMatchers("/**").permitAll()
.antMatchers("/admin/**").hasAuthority("ADMIN").anyRequest().authenticated()
.and().csrf().disable().formLogin().loginPage("/adminlogin").failureUrl("/adminlogin?error=true")
.defaultSuccessUrl("/admin/dashboard")
.usernameParameter("email")
.passwordParameter("password")
.and().logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessUrl("/adminlogin?logout=true").and().exceptionHandling()
.accessDeniedPage("/accessdenied");
}

现在我正在尝试实现的目标是,所有链接都可以在没有任何安全性的情况下访问,但以/admin/** 开头的链接仅允许具有“admin”角色的用户。

但现在它允许每个人使用/admin/** 。

任何建议。

我已经尝试了 stackoverflow 中的许多解决方案,即 How to fix role in Spring Security?但没有运气。行为保持不变,甚至允许/admin/url 公开使用。

最佳答案

为什么不尝试一下角色呢?

@Configuration
@EnableWebSecurity
public class SecSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN");
}
}

引用:http://www.baeldung.com/spring-security-expressions-basic

关于java - 如何为特定的url启用spring security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50448714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com