提问者:小点点

如何将一个url重定向到另一个url?


我的应用程序url是:http://219.41.192.244:8080/kanaapp/login-它将带用户进入登录页面

登录是第一个页面,然后只有用户可以访问应用程序。

但是,如果用户将此URL-http://219.41.192.244:8080/kanaapp,它将重定向到http://219.41.192.244:8080/kanaapp/#/home,并将用户带到主页,而无需登录。 我如何才能防止这种情况并使登录页面成为强制性的?

当用户把这个网址http://219.41.192.244:8080/kanaapp,我想重定向到http://219.41.192.244:8080/kanaapp/login url,有人能在这里帮助我吗。

spring boot应用程序:我在这里设置了上下文路径server.contextPath=/kanaapp

前端有角

    SecurityConfig class:

    .antMatchers("/static/**").permitAll()
        .antMatchers("/assets/**").permitAll()
        .antMatchers("/css/**").permitAll()
        .antMatchers("/forgotPassword").permitAll()
        .antMatchers("/setForgotPassword").permitAll()
         .and()
            .formLogin()
            .successHandler(handler)
            .usernameParameter("username")
            .passwordParameter("password")
            .loginPage("/login").permitAll()
        .and()
            .logout()
            .logoutSuccessUrl("/login?logout")
            .invalidateHttpSession(true).permitAll()
        .and()
        .csrf().disable();

共1个答案

匿名用户

我想你缺少的是一个正确的安全配置。 如果您希望您的用户被连接,那么您必须强制您的用户被连接。 这意味着您必须只允许向经过身份验证的用户发出请求。 你会发现很多指南如何做它spring的例子在这里。

您必须做的是注册一个扩展WebSecurityConfigurerAdapter的类,并定义应用程序的哪一部分是安全的。 例如:

.antMatchers("/public/**").permitAll()
.anyRequest().authenticated()

意味着/public/。。。中的所有URI。 将被允许为每个人,因此您将不必登录到那里,任何其他人需要登录到那里。

由于你有一个登录页面,迫使用户去那里的一个基本方法是实现spring表单登录(在之前的链接中有更深入的规定)。 这是工作的一部分

.formLogin()
.loginPage("/login")
.permitAll()

声明spring安全表单登录,所有必须经过身份验证的请求将被重定向到此处指定的页面。 当然,您可以根据需要自定义此页面(spring文档中的一个示例)。