shiro安全框架搭建模板 (基于ssm框架)

1 saas系统(基于SSM框架)中的问题

  • 需要对用户是否登录做判断
  • 访问权限的控制
  • 页面元素的权限处理

2 Shiro安全框架

2.2 shiro中的概念

认证(Authentication) : 身份认证(登录)

授权(Authorization): 授权(权限验证)

加密(Cryptography): 加密算法,密码比较

会话管理 : shiro内部模拟的session

2.3 shiro的内部结构
shiro安全框架搭建模板 (基于ssm框架)_第1张图片
2.4 shiro中的过滤器

shiro中内置了10个过滤器

常用过滤器

  1. anon:匿名过滤器,每个人都可以访问
  2. authc:认证过滤器,只有登录之后才能访问
  3. perms:授权过滤器,具有某种权限才能访问
  4. roles: 角色过滤器,具有某种角色才能访问

3 搭建Shiro的运行环境

3.1 配置web.xml中的过滤器
配置代理过滤器 : 以一当十
在export_web_manager工程的web.xml中添加shiro的代理过滤器
shiro安全框架搭建模板 (基于ssm框架)_第2张图片
相关代码如下:


    shiroFilter
    org.springframework.web.filter.DelegatingFilterProxy
    
        targetFilterLifecycle
        true
    


    shiroFilter
    /*

3.2 配置Shiro和spring的整合
将资料中的application-shiro.xml赋值到export_web_manager工程的resource/spring目录下




    Shiro与Spring整合

    
    
        
        
    


    
    
        
        
    

    
    

    
    
        
        
        
        
        

        
            
            

                /index.jsp* = anon
                /login.jsp* = anon
                /login* = anon
                /logout* = anon
                /css/** = anon
                /img/** = anon
                /plugins/** = anon
                /make/** = anon
                /** = authc,user
                /*.* = authc
            
        
    

    
    

    
    
        
    

    
    
        
    

    


3.3 创建自定义的Realm域类和自定义的密码比较类
3.3.1 自定义realm域
在export_web_manager工程的cn.itcast.web.shiro包下创建一个AuthRealm
自定义realm域需要继承AuthorizingRealm抽象父类,并实现其中的两个方法
shiro安全框架搭建模板 (基于ssm框架)_第3张图片
shiro安全框架搭建模板 (基于ssm框架)_第4张图片
3.3.2 自定义密码比较器
在export_web_manager工程的cn.itcast.web.shiro包下创建一个CustomCredentialsMatcher

自定义密码比较器需要继承SimpleCredentialsMatcher

shiro安全框架搭建模板 (基于ssm框架)_第5张图片
shiro安全框架搭建模板 (基于ssm框架)_第6张图片

你可能感兴趣的:(项目一)