我使用的是春季启动,对于弹簧安全性来说很新,但我希望我的Web应用程序具有基本的安全性。我所做的是增加我的pom.xml所需的依赖,并将此Java类到我的项目:春季安全 - 不访问数据库
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/**","/event/**","/ticket/**")
.hasRole("USER")
.and()
.formLogin();
}
}
运行我的Web应用程序后,我遇到了登录页面,在这里我把用户/密码,然后转到我的Web应用程序。但是,这些命令不起作用。我正在推送一些按钮,它们会将信号发送到我的MySql数据库,但没有任何反应。这就像前端没有连接到后端。我在前端使用AngularJS,在页面之间导航的View Controller。其他应用程序是基于REST的。任何想法为什么会发生?
后来编辑:现在我明白了,我的问题是验证后,我的终端上有403个状态码。任何想法我可以修复它?我的POST请求没有得到授权,我的GET请求可以正常工作......以下是我的一些POST端点:/ event/buy_ticket/{id},/ ticket// cancel_ticket/{ID}
angular.min.js:101 POST http://localhost:8080/event/buy_ticket/2 403()
我甚至想明确地说,它允许它,但我仍然得到403 ...
http.authorizeRequests()
.antMatchers("/**","/event/**","/ticket/**","/event/buy_ticket/2")
.permitAll()
.and()
.formLogin();
后来后来的后来编辑:
禁用CSRF工作
不,验证码有效。问题随之而来,当我在页面上做事情时什么都没有发生 – Gimv13
你是否从你的api端点获得了403个响应? –
是的,我得到403 – Gimv13