• 在web中使用shiro(会话管理,登出,shiro标签库的使用)


    在shiro的主配置文件中配置,登出的请求经过的过滤器就可以了,在shiro的过滤器中有一个名称为logout的过滤
    器专门为我们处理登出请求:

    一.shiro会话管理器

    shiro中也提供了类似于web中的session的机制

    /**
    * 跳转到系统管理的主界面
    * @return
    */
    @RequestMapping("/index")
    public String index(Model model){
    //可以通过Subject获取shiro会话中的用户身份对象
    Users user = (Users)SecurityUtils.getSubject().getPrincipal();
    List<Module> oneModules = userService.queryUsersModules(user);
    model.addAttribute("oneModules",oneModules);
    return "index";
    }
    /**
    * 用户登录的请求
    * @param user
    * @return
    */
    @RequestMapping("/login")
    public String login(Users user, Model model, HttpSession session){
    //获取用户的主体对象就可以了
    Subject subject = SecurityUtils.getSubject();
    //封装用户名和密码的认证信息对象
    UsernamePasswordToken upt = new UsernamePasswordToken(user.getUsername(),user.getPassword());
    //进行登录认证
    try {
    subject.login(upt);
    }catch (Exception e){
    e.printStackTrace();
    model.addAttribute("error","用户名或者密码错误");
    return "login";
    }
    return "redirect:/user/index.do";
    }
    tomcat的session可以控制超时时间,Shiro的session也可以控制。如果需要控制类似于超时时间这些Session的属性,就需要在shiro的主配置文件中配置SessionManager对象了.

    注意:对index.do请求不拦截

    二.登出

    首先需要在用户登录后的主界面写一个登出的链接
    然后在控制器中实现登出的方法,注意在此方法中不用写任何逻辑:
    在shiro的主配置文件中配置,登出的请求经过的过滤器就可以了,在shiro的过滤器中有一个名称为logout的过滤器专门为我们处理登出请求:

    三.shiro标签库的使用

    shiro为我们提供了一些简单的标签可以在jsp中使用,可以用来控制根据用户权限做一些操作使用标签库,首先要导入shiro的标签库:

     tologin.do  跳转到登陆界面
    /**
         * 跳转到登录界面
         * @return
         */
        @RequestMapping("tologin")
        public String tologin(){
            return "login";
        }
  • 相关阅读:
    菜单栏与功能工具栏
    信息与编码
    opencv颜色体系认知
    团队-科学计算器-开发文档
    CSS3动画
    Font Awesome 4.0.3 字体图标完美兼容IE7
    Bootstrap+Thinkphp3.2+Auth认证+jquery-validator后台
    Wordpress主题中常用代码总结
    Wordpress 常用代码解释
    wordpress一些常用代码
  • 原文地址:https://www.cnblogs.com/duguangming/p/11047375.html
Copyright © 2020-2023  润新知