文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Shiro教程之三自定义Realm认证和授权(结合数据库)

2021-02-20 04:47

关注


	Shiro教程之三自定义Realm认证和授权(结合数据库)
[数据库教程]

Shiro默认使用自带的IniRealm,IniRealm从ini配置文件中读取用户的信息,大部分情况下需要从系统的数据库中读取用户信息,所以需要自定义realm。

1,Realm接口 

技术图片

 

 

最基础的是Realm接口,CachingRealm负责缓存处理,AuthenticationRealm负责认证,AuthorizingRealm负责授权,通常自定义的realm继承AuthorizingRealm

 

2,数据表设计

技术图片

 

 

permission 菜单和权限表
role 角色表
role_permission 角色和权限的关系表
user 用户表
user_role用户和角色之间的关系表

 

 

3,实现步骤

1,创建shiro_realm的maven项目

web.xml文件过滤器配置:


    <filter>
        <filter-name>shiroFilterfilter-name>
        <filter-class>
            org.springframework.web.filter.DelegatingFilterProxy
        filter-class>
        <init-param>
            <param-name>targetFilterLifecycleparam-name>
            <param-value>trueparam-value>
        init-param>
        
        <init-param>
            <param-name>targetBeanNameparam-name>
            <param-value>shiroFilterparam-value>
        init-param>
    filter>
    <filter-mapping>
        <filter-name>shiroFilterfilter-name>
        <url-pattern>* = authc -->