Я пытаюсь создать страницу входа в систему, используя реакцию в моем веб-приложении с весенней загрузкой в бэкэнде.Я использую Spring Security JDBC Authentication для входа в систему.Я пытаюсь преобразовать мои страницы JSP в React.Логин работает нормально с JSP и весенней загрузкой.Теперь я пытаюсь создать ту же страницу с реагировать.но когда я отправляю сообщение с помощью сообщения axios, я получаю ошибку
Доступ к XMLHttpRequest в «http://localhost:8080/onlineshopping/login' от источника» http://localhost:3000' был заблокирован политикой CORS: Нет 'ДоступЗаголовок -Control-Allow-Origin 'присутствует на запрашиваемом ресурсе.
это axios Post
export const Login = (username, password) => async dispatch => {
console.log(password)
let params = {
username: username,
password: password
}
const res = await axios.post("http://localhost:8080/onlineshopping/login", {params});
dispatch({
type: Login,
payload: res.data
});
};
SecurityConfig.java
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.jdbcAuthentication()
.usersByUsernameQuery("select email, password, enabled from user_detail where email = ?")
.authoritiesByUsernameQuery("select email, role from user_detail where email = ?")
.dataSource(dataSource)
.passwordEncoder(bCryptPasswordEncoder);
}
Pagecontroller.java
@RestController
@CrossOrigin
public class PageController {
@RequestMapping("/login")
public Map<String, Object> login(
@RequestParam(name = "error", required = false) String error,
@RequestParam(name = "logout", required = false) String logout) {
Map<String, Object> map = new HashMap<String, Object>();
System.out.println("Login");
map.put("title", "Login");
if (error != null) {
map.put("message", "Username and Password is invalid!");
}
if (logout != null) {
map.put("logout", "You have logged out successfully!");
}
return map;
}
}
Скажите, пожалуйста, почему я получаю эту ошибку и как ее исправить.