繁体   English   中英

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

[英]how can I redirect a url to another 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并将用户带到主页而无需登录。 我怎样才能防止这种情况并使登录页面成为强制性的?

每当用户输入这个 url http://219.41.192.244:8080/KanaApp时,我想重定向到http://219.41.192.244:8080/KanaApp/login url,有人可以帮我吗

Spring 启动应用程序:我在这里设置了上下文路径 server.contextPath=/KanaApp

在前端 angular

    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();

我认为您缺少的是适当的安全配置。 如果你想让你的用户连接,那么你必须强制你的用户连接。 这意味着您必须只允许对经过身份验证的用户发出请求。 您会在spring 示例此处找到很多有关如何操作的指南。

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

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

这意味着 /public/... 中的所有 uri 都将允许所有人使用,因此您不必在那里登录 go,而其他任何人都需要在那里登录 go。

由于您有一个登录页面,强制用户访问 go 的基本方法是实现 spring 表单登录(在之前的链接中详细说明)。 这是完成工作的部分

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

声明 spring 安全表单登录,所有必须认证的请求将被重定向到这里指定的页面。 您当然可以根据需要自定义此页面( 示例来自 spring 文档)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM