springsecurity设置不同角色登录后跳转到不同页面 | 您所在的位置:网站首页 › vue根据不同用户跳转到不同页面 › springsecurity设置不同角色登录后跳转到不同页面 |
要在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 实验室设备网 版权所有 |