shrio不同权限登录进入不同的登录界面

266 阅读1分钟

前提

我在shrioConfig中配置了shrio成功登录的界面 bean.setSuccessUrl("/main.html");

我实现方式是: 在对应的路径下,直接根据权限来判断进入哪个界面,如果是管理员,则进入管理员界面;如果不是管理员,就进入普通用户界面

   @RequestMapping({"/main.html","/main"})
    public String main(){
        Subject subject=SecurityUtils.getSubject();
        Userinfo currentUser= (Userinfo) subject.getPrincipal();
        Userinfo userinfo = userinfoService.queryByUserName(currentUser.getUsername());
        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
        List<Userrole> role = userroleService.queryAllByUserId(userinfo.getId());
        Integer roleid = role.get(0).getRoleid(0);
        Roleinfo roleinfo = roleinfoService.queryById(roleid);
        if(roleinfo.getRolename().equals("Rooter"))
        {

            return "/admin/index";
        }
        else {
            return "main";
        }
    }

特别提醒:如果你觉得方式过于简单或者达不到你想要的效果,那么请百度搜索 shrio多个realm的实现