【发布时间】:2016-02-15 10:43:20
【问题描述】:
我有一个非常简单的 Spring Boot 应用程序,它由以下代码保护:
http.authorizeRequests()
.antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')")
.and()
.formLogin().loginPage("/login").failureUrl("/login?error")
.usernameParameter("username").passwordParameter("password")
.and()
.logout().logoutSuccessUrl("/login?logout")
.and()
.exceptionHandling().accessDeniedPage("/403");
这个想法是保护“管理”部分。它公开了一个 REST API。 问题是所有的POSTS返回
405 方法不允许
如果我从应用程序中删除安全启动器,它会起作用。这让我相信安全配置是问题所在。但我不知道怎么做。
【问题讨论】:
-
您的登录处理程序怎么样?
-
auth.jdbcAuthentication().dataSource(dataSource) .passwordEncoder(passwordEncoder()) .usersByUsernameQuery("选择用户名,密码,从username=的用户启用?") .authoritiesByUsernameQuery("选择用户名,来自 user_roles 的角色,其中 username=?");不过没关系,因为这个方法不在管理部分。
标签: spring spring-security spring-boot