注意:[users] [roles] 两个部分不再需要
[main] #注意:此处实在安装自定义Realm 指定realm #声明Realm 名称 = Realm类路径 realm1 = com.zhj.realm.MyRealm realm2 = com.zhj.realm.MyRealm2 #安装Reaml 关联到SecurityManager securityManager.realms=$realm1,$realm2 五、与Web 集成与web项目集成后,shiro的工作模式如下:
如上:ShiroFilter拦截所有请求,对于请求做访问控制
如请求对应的功能是否需要有 认证的身份,是否需要某种角色,是否需要某种权限。
1> 如果没有做 身份认证,则将请求强制跳转到登录页面。
如果没有充分的角色或权限,则将请求跳转到权限不足的页面。
2> 如果校验成功,则执行请求的业务逻辑
5.1 pom <!-- ============ Servlet ============ --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- ============== SpringMVC ============== --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.6.RELEASE</version> </dependency> <!-- ============ shiro ============ --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>1.4.0</version> </dependency> <!-- ============ log ============ --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.12</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> 5.2 代码:Controller定义一些Servlet 或 springMVC的controller,发送请求,验证shiro的验证