我的前端位于localhost:8000
(python服务器最终用于s3)上,后端位于localhost:8080
(spring boot最终用于ec2)。我的后端是启用了弹簧引导启动程序安全性的其余端点。当我尝试登录时,它最初给我带来了一个问题,即在成功进行身份验证后,它试图进入localhost:8080
,但没有任何帮助。因此,我添加了index.html。这样就解决了问题,现在转到我的ajax调用的success
部分,尝试调用localhost:8080/assessment/all
。
从login.js进行Ajax调用
$.ajax({
url : 'http://localhost:8080/login',
type : 'POST',
contentType : 'application/x-www-form-urlencoded;charset=UTF-8',
data : { username : $('#login-username').val(), password : $('#login-password').val() },
success : function () {
window.location.href = '../html/assessment.html';
},
error : function () {
event.preventDefault();
//alert('failed');
}
});
assessage.js中的Ajax调用
$.ajax({
url : 'http://localhost:8080/assessments/all',
dataType : 'json',
success : function () {
window.location.href = '../html/assessment.html';
},
error : function () {
event.preventDefault();
//alert('failed');
}
});
现在,这里的问题是它再次尝试重定向到login.html。我如何检查用户是否已经登录。这是因为前端在其他服务器上吗?登录后是否应该将某些东西发送回前端?有人可以告诉我这里。
安全配置的片段
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/login**").permitAll()
.antMatchers("/assessments/**").fullyAuthenticated()
.antMatchers("/").permitAll()
.and()
.formLogin()
.loginPage("http://localhost:8000")
.loginProcessingUrl("/login")
.usernameParameter("username")
.passwordParameter("password")
.failureUrl("/login?error")
.permitAll()
.and()
.logout()
.invalidateHttpSession(true)
.deleteCookies("JSESSIONID")
.permitAll();
}