如何在没有 xml 的情况下配置 thymeleaf-extras-springsecurity4?

Posted

技术标签:

【中文标题】如何在没有 xml 的情况下配置 thymeleaf-extras-springsecurity4?【英文标题】:How to configure thymeleaf-extras-springsecurity4 without xml? 【发布时间】:2017-03-19 15:47:17 【问题描述】:

我正在尝试在我的视图中使用类似此代码 sn-p 的代码,但是无论用户的角色如何,内容都会始终显示。

<div sec:authorize="hasRole('ROLE_ADMIN')">            
<!-- Some admin content -->
</div>

【问题讨论】:

【参考方案1】:

将以下依赖项添加到您的build.gradle

compile("org.springframework.boot:spring-boot-starter-security")

您还必须添加 Spring Security 配置,如示例:

@Configuration
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter 

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception 
        auth
                .inMemoryAuthentication()
                .withUser("admin").password("admin").roles("ADMIN", "USER")
                .and().withUser("user").password("user").roles("USER");
    

    @Override
    protected void configure(HttpSecurity http) throws Exception 
        http.authorizeRequests().antMatchers("/", "/index/**").permitAll()
                .and().authorizeRequests().antMatchers("/login", "logout").permitAll()
                .and().formLogin().loginPage("/login").defaultSuccessUrl("/").permitAll()
                .and().logout()
                        .deleteCookies("remove")
                        .invalidateHttpSession(true)
                        .logoutUrl("/logout")
                        .logoutSuccessUrl("/logout-success")
                        .logoutRequestMatcher(new AntPathRequestMatcher("/logout"));
    

在Securing a Web Application了解更多信息。

【讨论】:

以上是关于如何在没有 xml 的情况下配置 thymeleaf-extras-springsecurity4?的主要内容,如果未能解决你的问题,请参考以下文章

在没有插件 web.xml 问题的情况下配置 Spring Security

在没有 XML 配置的情况下实现 Spring Security Oauth

如何在没有 XML 配置的情况下定义自定义 AuthenticationEntryPoint

如何在没有 XML 配置的情况下定义自定义 AuthenticationEntryPoint

在没有XML的情况下在Spring 4.1.5中配置事务

我们如何在没有 MYSQL 负载的情况下创建 XML?