shiro-web 软件分析

💡 原文中文,约4900字,阅读约需12分钟。
📝

内容提要

shiro-web是shiro-core的包装器,通过Filter接口与Tomcat交互,实现请求级别的主体管理。它与shiro-core解耦,使用FilterChain管理过滤器,支持自定义过滤器,确保灵活性与可扩展性。

🎯

关键要点

  • shiro-web是shiro-core的包装器,通过Filter接口与Tomcat交互,实现请求级别的主体管理。
  • shiro-web与shiro-core解耦,使用FilterChain管理过滤器,支持自定义过滤器,确保灵活性与可扩展性。
  • shiro-web实现了Filter接口,使得Tomcat可以调用,同时ShiroFilter调用WebSubject进行验证和授权。
  • shiro-core与shiro-web之间不是完全单向的调用关系,某些情况下shiro-core会调用wrapper中的实现。
  • Session管理的选择需要考虑使用shiro提供的SessionManager还是Tomcat的Session管理。
  • shiro-web通过继承的方式与shiro-core解耦,直接依赖Webxxx类。
  • shiro-web的Filter主要是ShiroFilter,通过web.xml配置实现。
  • FilterChainManager管理Filter链的创建和修改,支持自定义filter。
  • FilterChainResolver根据请求的URL返回对应的FilterChain,使用PathMatchingFilterChainResolver实现。
  • ProxiedFilterChain用于包装原始的servlet容器中的过滤器链,确保过滤器的执行顺序。
➡️

继续阅读