Доступ запрещен 403 запрещен - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь зашифровать пароль при регистрации и его работе, когда я публикую регистрацию, он сохраняется в БД, а пароль зашифрован.Но другой API становится недоступным, например, когда я пытаюсь войти или получить всех пользователей, он дает мне запрещенный 403 «Отказано в доступе», что не так в моем коде?

это мой класс безопасности

package com.user.user.config.security;

import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter 
{
private final UserDetailsService userDetailsService;
private final BCryptPasswordEncoder bCryptPasswordEncoder;

public static final String SIGN_UP_URL = "/registration";
public WebSecurityConfig(UserDetailsService userDetailsService, 
BCryptPasswordEncoder bCryptPasswordEncoder) {
    this.userDetailsService = userDetailsService;
    this.bCryptPasswordEncoder = bCryptPasswordEncoder;
}

@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable().authorizeRequests().antMatchers 
(HttpMethod.POST, 
SIGN_UP_URL).permitAll().anyRequest().authenticated();
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws 
Exception {

auth.userDetailsService(userDetailsService) 
.passwordEncoder(bCryptPasswordEncoder);
 }
}

и это метод в службах класса

public List<Users> getAllUsers() {
    List<Users> users = new ArrayList<>();
    userRepository.findAll()
            .forEach(users::add);
    return users;
}

 public void registration(Users users) {
    //   
 users.setPassword(bCryptPasswordEncoder  
.encode(users.getPassword()));
 users.setPassword(bCryptPasswordEncoder 
.encode(users.getPassword()));
 userRepository.save(users);
 }

, и я добавил этот метод в основной класс

 @Bean
  public BCryptPasswordEncoder bCryptPasswordEncoder() {
     return new BCryptPasswordEncoder();
  }

что мне нужно сделать, чтобы решить мою проблему ??

1 Ответ

0 голосов
/ 25 декабря 2018

Это работает, когда я редактирую эту функцию

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable().authorizeRequests().antMatchers( "/registration","/users","/login")
            .permitAll().anyRequest().authenticated();
}

но не работает чванство, что я должен добавить, чтобы заставить его работать?

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing 
this as a fallback.

Wed Dec 26 18:31:49 EET 2018
There was an unexpected error (type=Forbidden, status=403).
Access Denied
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...