Перенаправить на страницу admin

129
21 февраля 2022, 02:50

нужно,чтобы когда заходил admin на страницу перенаправляло на одну страницу, и если кто-то другой. Написал метод adminPage и создал admin.html файл

@RestController
public class AdminController {
....
  @RequestMapping(value = "/admin", method = RequestMethod.GET)
    public String adminPage(Model model) {
        return "admin";
    }

admin.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title th:utext="${admin}"></title>
    <meta charset="UTF-8"/>
    <link th:href="@{/bootstrap/css/bootstrap.min.css}"
          rel="stylesheet" media="screen"/>
    <script th:src="@{/jquery/jquery.min.js}"></script>
    <script th:src="@{/popper/popper.min.js}"></script>
    <script th:src="@{/bootstrap/js/bootstrap.min.js}"></script>
    <script type="text/javascript" th:src="@{/static/js/main.js}"></script>
    <style>
        body {
            background: #007bff;
            background: linear-gradient(to right, #0062E6, #33AEFF);
        }
        th, td {
            padding: 5px;
        }
        td span  {
            font-size:90%;
            font-style: italic;
            color: red;
        }
        .error {
            color: red;
            font-style: italic;
        }
    </style>
<body>
       <H1> Hallo,Admin </H1>
<hr>
<form action="/admin" method="post">
    <button type="button">Click Me!</button>


</form>



</body>
</html>

добавлю еще метод configure

  @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
        // The pages does not require login
        http.authorizeRequests().antMatchers( "/login**", "/logout**","/register**","/registerSuccessful","/bootstrap/**","/jquery/**","/popper/**",
        "/css/**","/js/**","/uploads/**","/upload/**,/admin/**,/admin").permitAll();
        http.authorizeRequests().antMatchers("/admin/**").access("hasAnyRole('ROLE_ADMIN')");
        http.authorizeRequests().antMatchers("/**").access("hasAnyRole('ROLE_USER')");
        http.authorizeRequests().and().exceptionHandling().accessDeniedPage("/403");
        // Config for Login Form
        http.authorizeRequests().and().formLogin()//
                // Submit URL of login page.
                .loginProcessingUrl("/j_spring_security_check") // Submit URL
                .loginPage("/login")
                .successHandler(myAuthenticationSuccessHandler())
                //.defaultSuccessUrl("/")//
                .failureUrl("/login?error=true")//
                .usernameParameter("username")//
                .passwordParameter("password")
                // Config for Logout Page
                .and().logout().logoutUrl("/logout").logoutSuccessUrl("/logoutSuccessful");
        // Config Remember Me.
        http.authorizeRequests().and() //
                .rememberMe().tokenRepository(this.persistentTokenRepository()) //
                .tokenValiditySeconds(1 * 24 * 60 * 60); // 24h
    }

Но все,что выдает на экран это слово - admin

admin.html назодится в resources/templates/admin/admin.html

Answer 1
  1. @Rest контроллерами помечают контроллеры, которые возвращают xml или json. Если вы хотите вернуть отображение (view), это просто @Controller

  2. spring возвращает строку admin, он не знает что вы имеете ввиду admin.html, укажите ему prefix resources/templates/ и suffix .html За это отвечает бин viewResolver

READ ALSO
Разница в переменных в Java и Python

Разница в переменных в Java и Python

товарищиЯ долгое время программировал на Java, сейчас затронул Python и в голове немного помешалось

119
Как преобразовать элементы ArrayList в строки

Как преобразовать элементы ArrayList в строки

Задача стоит в том, чтобы удалить все дубли из коллекции, затем отсортировав, преобразовать числа в строкиНикак не могу сообразить, что не так!

169
Uri to FilePath и наоборот

Uri to FilePath и наоборот

СИТУАЦИЙ №1

211