Shiro 基本词汇理解

术语对新手都不友好,所以写了这份博客,若有瑕疵,还望指出。

1、Subject : 相当于公司的一张门禁卡(不知道大家的公司是什么样子的呢),而且是一张公用的(也可以说是临时的)门禁卡,这张卡和正式员工的门禁卡的区别就是,这张卡未记录任何关于你的任何信息,只是一个白板。如果有一天你上班刷卡入司,估计不会很幸运的进入到公司里,因为保安会把你拦下来,这很容易理解吧,他会想你是从哪里捡到的这张卡呀,因为这张白板没有办法证明你是公司的员工,所以,如果想进去,就应该使用带有个人信息的门禁卡,典型的门禁卡是有头像,名字,公司名称,员工号的呦。当然,在登录界面,这张白板需要带上一个用户名及密码的个人信息,就不难理解了吧。至于白板或者是说员工卡是怎么做出来的,我还没来得及研究哦。

@RequestMapping("/loginUser")
    public String loginUser(@RequestParam("username") String username, 
                            @RequestParam("password") String password,
                            HttpSession session) {
        UsernamePasswordToken token = new UsernamePasswordToken(username, password);
        Subject subject = SecurityUtils.getSubject();

        try {
            subject.login(token);
            User user = (User) subject.getPrincipal();
            session.setAttribute("user", user);
            return "index";
        } catch (Exception e) {
            return "login";
        }
    }

2、SecurityManager : 哎呦喂,不错嘛,找到了工作,而且还有了员工卡,可是这仅仅是一个基本的卡片,用来告诉你本人,你就是贵公司IT部的一个员工,你可以做自己分内的事,比如说敲敲代码,但绝对不可以干过分的事情吧。决定你是公司员工并且告诉你有何权限的工作就是SecurityManager来做的。
3、AuthRealm : 安全的数据源,有空再聊,得干活了。

猜你喜欢

转载自blog.csdn.net/qq_20330063/article/details/79261211