1,导入基于Shiro的数据库脚本
t_sys_user:用户信息表,例如:zs/ls/ww/垚哥
t_sys_role:用户角色表,例如:管理员/普通员工/部门经理/技术总监/CEO
t_sys_permission 权限信息表,例如:普通员工每天完成日常编码工作/整个部门的权限/整个公司技术版本的所有事宜/全公司大大小小所有事
2.引入依赖(shiro-1.4.1)
shiro-core
shiro-web
shiro-spring
3.自定义Realm
AuthorizationInfo:授权信息
AuthenticationInfo:认证信息
4,在generationConfig.xml写生成类
5,创建一个LoginController
6,创建一个spring-shiro.xml
filterChainDefinitions Shiro过滤链定义类型:
(1) anon,authcBasic,auchc,user是认证过滤器
(2) perms,roles,ssl,rest,port是授权过滤器
<!--anon 表示匿名访问,不需要认证以及授权-->
<!--authc表示需要认证 没有进行身份认证是不能进行访问的-->
<!--roles[admin]表示角色认证,必须是拥有admin角色的用户才行-->
<!--user表示用户不一定已通过认证,只要曾被Shiro记住过登录状态的用户就可以正常发起请求,比如rememberMe-->
<!--perms表示指定过滤规则,这个一般是扩展使用,不会使用原生的-->
<!--port表示请求的URL端口验证-->
<!--ssl表示安全的URL请求,协议为https-->
<!--rest表示根据请求的方法,如post、get、delete等-->
7,修改web.xml文件,添加shiroFilter的配置
注:使用的代理类DelegatingFilterProxy
8,复制PasswordHelper.java到shiro包中