Spring Security 配置访问

Posted

技术标签:

【中文标题】Spring Security 配置访问【英文标题】:Spring security configure access 【发布时间】:2017-08-13 14:19:29 【问题描述】:

我正在 Spring Security 中配置端点访问。我想要完成的事情:

    每个人都可以访问资源 每个人都可以登录/注册 只有经过身份验证的用户才能访问注销和所有其他映射的端点

这是我的配置,它满足前两个要求并阻止非登录用户访问 /logout。

http.authorizeRequests()
                .antMatchers("/register").permitAll()
                .antMatchers("/register/*").permitAll()
                .antMatchers("/favicon.ico").permitAll()
                .antMatchers("**/*.html").permitAll()
                .antMatchers("**/*.css").permitAll()
                .antMatchers("**/*.js").permitAll()
                .and()
                .formLogin().loginPage("/login").failureUrl("/login-error").defaultSuccessUrl("/")
                    
                .usernameParameter("username").passwordParameter("password")
                .and()
                    
                .logout().logoutSuccessUrl("/login").deleteCookies("JSESSIONID").logoutUrl("/logout");

【问题讨论】:

附带说明一下,对于静态 CSS/JS 资源,通常使用 /resources/**/public/** 之类的东西。 【参考方案1】:

确保对您的应用程序的请求需要用户经过身份验证才能使用 .anyRequest().authenticated()

【讨论】:

以上是关于Spring Security 配置访问的主要内容,如果未能解决你的问题,请参考以下文章

在grails 2.2.4 spring security core 2.0中配置ldap?

Spring Security 配置访问

尽管有 SecurityConfig,但 Spring Security 会阻止 POST 请求

调用 j_spring_security_logout 不起作用

spring boot跨域请求访问配置以及spring security中配置失效的原理解析

Spring boot Security 登陆安全配置