Я подключил свой проект Spring Boot с моей базой данных и создал компонент userdetailsservice, который принимает мои пользовательские данные, и сравнивает их с данными данными и позволяет вам до конечной точки. Я создал конечную точку с именем /приборной панелью, где я хочу вернуть представление JSP, содержащееся в папке WebApp с правильным именем. Проблема в том, что я не могу получить к нему доступ без аутентификации, даже если я разрешил ее. < /P>
Это мой класс контроллера < /p>
@Controller
public class PublicController {
@GetMapping("/dashboard")
public String dash(){
return "dashboard.jsp";
}
}
< /code>
Это класс конфигурации < /p>
@Configuration
@EnableWebSecurity
public class SecurityConfiguration {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(auth -> auth
// allow public endpoints
.requestMatchers("/dashboard").permitAll()
// everything else needs authentication
.anyRequest().authenticated()
)
// enable login form
.formLogin(Customizer.withDefaults())
.httpBasic(httpBasic -> httpBasic.disable());
return http.build();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
< /code>
Это userdetailsservice class < /p>
@Component
public class UserDetailsService implements org.springframework.security.core.userdetails.UserDetailsService {
@Autowired
private UserService userService;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
User user=userService.getUserByUserName(username);
if(user!=null){
return org.springframework.security.core.userdetails.User.builder()
.username(user.getUserName())
.password(user.getPassword())
.roles(String.valueOf(user.getRoles()))
.build();
}
throw new UsernameNotFoundException("User Name Not found");
}
< /code>
Я не создавал ни одного пользовательского управляющего. Аутентификация работает нормально, но показывает вход, даже если я разрешил «/Dashboard»
Я пробовал Localhost: 8080/Dashboard каждый раз, когда я загружаю приложение в первый раз, когда оно побуждает меня войти в систему. Все последующие финальные точки несущественные
.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... pring-boot