springsecurity设置不同角色登录后跳转到不同页面 您所在的位置:网站首页 vue根据不同用户跳转到不同页面 springsecurity设置不同角色登录后跳转到不同页面

springsecurity设置不同角色登录后跳转到不同页面

2024-06-10 16:29| 来源: 网络整理| 查看: 265

要在WebSecurityConfig中的configure方法中配置登录

.formLogin() .loginPage("/login") .failureUrl("/login?error") .defaultSuccessUrl("/home").successHandler(new LoginSuccessHandle()) .permitAll()

重点在.successHandler

建立一个LoginSuccessHandle的类

class LoginSuccessHandle implements AuthenticationSuccessHandler { public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException,ServletException { Set roles = AuthorityUtils.authorityListToSet(authentication.getAuthorities()); String path = request.getContextPath() ; String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; if (roles.contains("ROLE_ADMIN")){ response.sendRedirect(basePath+"adminHome"); return; } response.sendRedirect(basePath+"home"); }

LoginSuccessHandle类中根据用户是ROLE_ADMIN还是其他角色使用response.sendRedirect跳转到了不同的页面。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有