【问题标题】:how can I redirect a url to another url?如何将一个网址重定向到另一个网址?
【发布时间】:2020-09-29 23:54:06
【问题描述】:

我的应用程序 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

在前端有角度

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

【问题讨论】:

  • 在您的 Angular 应用程序中使用保护在用户未登录时将其重定向到登录页面。angular.io/api/router/CanActivate
  • 感谢 Berk,我们可以从后端...在 Spring Boot 中制作它吗?
  • 通常您不会期望用户向您的后端发送请求,因此您将授权令牌添加到您的前端请求并在您的 Spring 安全配置中检查授权请求。

标签: javascript java angular spring-boot


【解决方案1】:

我认为您缺少的是正确的安全配置。 如果您希望您的用户连接,那么您必须强制您的用户连接。这意味着您必须只允许经过身份验证的用户的请求。 你会发现很多关于如何做到这一点的指南spring example here

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

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

意味着 /public/... 中的所有 uris 对所有人都是允许的,因此您无需登录即可前往那里,任何其他人都需要登录才能前往那里。

当你有一个登录页面时,强制用户去那里的一个基本方法是实现 spring 表单登录(在之前的链接中更深入地指定了)。这是完成工作的部分

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

声明spring security表单登录,所有需要认证的请求都会被重定向到这里指定的页面。您当然可以根据需要自定义此页面 (an example from spring documentation)。

【讨论】:

  • 与我在 SecurityConfiguration 类中实现的相同。我已经编辑了问题并添加了代码。请检查一下
猜你喜欢
  • 1970-01-01
  • 2016-03-31
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-14
相关资源
最近更新 更多