授权后通过用户角色重定向到特定页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了授权后通过用户角色重定向到特定页面相关的知识,希望对你有一定的参考价值。

我没有在Internet上找到这样的信息,所以我决定在这里问,告诉我如何根据用户的角色授权到特定页面后实现重定向?

如何在Spring Boot或Spring MVC中实现呢?

控制器以这种方式标记:

@@ PreAuthorize(“ hasAuthority('_ 1_ADMIN')”)

即我希望授权后具有管理员角色的用户直接转到管理页面“” / project / admin“

安全配置:

protected void configure(HttpSecurity http) throws Exception {
        http
                    .authorizeRequests()
                    .antMatchers("/register", "/static/**", "/activate/*").permitAll()
                    .antMatchers("/admin", "/admin/**").hasAuthority("_1_ADMIN")
                    .anyRequest().authenticated()
                .and()
                    .formLogin()
                    .loginProcessingUrl("/login")
                    .loginPage("/login")
                    .defaultSuccessUrl("/projects", true)
                    .permitAll()
                .and()
                    .rememberMe()
                .and()
                    .logout()
                    .logoutUrl("/logout")
                    .logoutSuccessUrl("/login")
                    .permitAll();
    }
答案

您可以通过提供AuthenticationSuccessHandler

AuthenticationSuccessHandler

以上是关于授权后通过用户角色重定向到特定页面的主要内容,如果未能解决你的问题,请参考以下文章

未经授权时如何将用户重定向到 ASP.NET 页面?

ASP.NET 成员按用户角色重定向到页面

Laravel 5.5登录后重定向到特定路由

使用 Spring Security 根据用户角色登录后重定向到不同的页面

根据角色将不同的用户重定向到 Keycloak 登录的不同页面

在 Laravel 中登录多个角色后重定向