spring boot用户登录之后根据角色转不同页面

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aslongasyoulike/article/details/77621849

spring boot结合spring security实现登录后根据角色转不同页面。
最近做项目的时候遇到了这样一个问题:管理员登录之后要进入后台管理系统,但是用户登录之后则个人管理页面。
查阅资料,得到了这样一种较为简洁的方法,记录一下~
下面是一段WebSecurityConfig中的代码

   protected void configure(HttpSecurity http)throws Exception{
        http.authorizeRequests().antMatchers("/permanager**").authenticated().antMatchers("/specil**").authenticated().
                antMatchers("/htshouye**").hasAuthority("admin").anyRequest().permitAll().and().formLogin().loginPage("/login").defaultSuccessUrl("/qufen").failureUrl("/login?error=true").
                permitAll().and().rememberMe().tokenValiditySeconds(12009600).key("mykey")
        .and().logout().logoutSuccessUrl("/login").permitAll();
    }

重点在与defaultSuccessUrl(“/qufen”),实现了登录成功之后转向/qufen,
我们只需要在control中对于/qufen的请求进行处理即可:即根据用户的权限返回不同的页面
笔者这里的用户分为了user和admin,因此做了如下处理:

    @RequestMapping(value="/qufen")
    public String qufen(){
        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
        if(auth.getAuthorities().toString().equals("[user]"))
            return "index";//如果是客户登录
        else
            return "htshouye";//如果是后台管理人员登录
    }

大家可以根据自己的需求做不同的处理~~

展开阅读全文

没有更多推荐了,返回首页