Shiro的过滤器链是通过对URI或URL进行拦截实现的,即当请求某个URI或URL时,Shiro会在该地址被处理之前,先检查是否被拦截,并根据配置的顺序执行相应的拦截操作。一般情况下,Shiro过滤链的验证方式包括以下几种:
- 基于角色/权限的验证方式
这种方式是指在访问某个具体的资源时,要求用户必须具有特定的角色或权限才能够进行访问。如需验证用户的角色或权限,需要使用Shiro提供的RolesAuthorizationFilter和PermissionsAuthorizationFilter 过滤器。
- 基于身份认证状态的验证方式
这种方式是指在访问某个具体的资源时,要求用户必须已经完成身份认证,具有有效的身份信息,才能够进行访问。需要使用Shiro提供的AuthenticatingFilter 过滤器进行验证。
- 自定义验证方式
如果以上两种验证方式无法满足需要,可以自定义实现相关验证逻辑,并将其集成到Shiro过滤器链中,以实现更加灵活多样的验证方案。可以通过继承AccessControlFilter 接口实现自定义的过滤规则,并将其注册到shiro.ini或者shiro.xml 文件中。
需要注意的是,对于一般的Web开发场景,由于Shiro提供了默认的过滤器链,并包含基本的安全保护,因此一般情况下无需对其进行特别配置。如果需要自定义相关过滤规则,可以根据具体业务需求和安全实践逐步增加和修改