Packages 
Package Description
org.apache.shiro
This package primarily exists as a root classpath distinction, but it does contain two core classes widely used by applications, SecurityUtils and ShiroException.
org.apache.shiro.aop
Components used to support the framework's AOP/interception support classes.
org.apache.shiro.aspectj
AspectJ support for enabling dynamic authorization using Shiro's annotations.
org.apache.shiro.authc
Core interfaces and exceptions concerning Authentication (the act of logging-in).
org.apache.shiro.authc.credential
Support for validating credentials (such as passwords or X509 certificates) during authentication via the CredentialsMatcher interface and its supporting implementations.
org.apache.shiro.authc.pam
Support for PAM, or Pluggable Authentication Modules, which is the capability to authenticate a user against multiple configurable (pluggable) modules (Shiro calls these Realms).
org.apache.shiro.authz
Core interfaces and exceptions supporting Authorization (access control).
org.apache.shiro.authz.annotation
Annotations used to restrict which classes, instances, or methods may be accessed or invoked depending on the caller's access abilities or authentication state.
org.apache.shiro.authz.aop
Contains AOP implementation support classes specifically used for authorization operations, particularly supporting AOP Method Interceptors and JSR-175 metadata Annotations.
org.apache.shiro.authz.permission
Support and default implementations for Shiro's Permission interface.
org.apache.shiro.cache
Caching support used to enhance performance for security operations.
org.apache.shiro.cache.ehcache
Ehcache-based implementations of Shiro's cache interfaces.
org.apache.shiro.cas  
org.apache.shiro.codec
Components for encoding and decoding of data across multiple formats, especially useful in Shiro's cryptography and web functionality.
org.apache.shiro.concurrent
Executor, ExecutorService, and ScheduledExecutorService implementations for transparent Subject association with threads in an asynchronous execution environment.
org.apache.shiro.config
Components that support configuring Shiro in any application.
org.apache.shiro.config.event  
org.apache.shiro.crypto
Cryptography Cipher and Hashing components that greatly simplify the JDK's cryptography concepts and add additional convenient behavior.
org.apache.shiro.crypto.hash
Cryptographic Hashing components that greatly simplify one-way data hashing in an application.
org.apache.shiro.crypto.hash.format  
org.apache.shiro.dao
Package containing various components useful when building Data Access Objects (DAOs), including a generic Data Access Exception hierarchy.
org.apache.shiro.env
Concepts used to represent Shiro's aggregate state in an application.
org.apache.shiro.event  
org.apache.shiro.event.support  
org.apache.shiro.guice  
org.apache.shiro.guice.aop  
org.apache.shiro.guice.web  
org.apache.shiro.hazelcast.cache  
org.apache.shiro.io
Support for reading and writing (input/output) raw data from multiple resource locations.
org.apache.shiro.jndi
Enables accessing objects located in JNDI that might be useful when configuring a Shiro-enabled application.
org.apache.shiro.ldap  
org.apache.shiro.mgt
Provides the master SecurityManager interface and a default implementation hierarchy for managing all aspects of Shiro's functionality in an application.
org.apache.shiro.realm
Components and sub-packages used in supporting the core Realm interface.
org.apache.shiro.realm.activedirectory
Realms that acquire security data from a Microsoft Active Directory.
org.apache.shiro.realm.jdbc
Realms that acquire security data from an RDBMS (Relational Database Management System) using the JDBC API.
org.apache.shiro.realm.jndi
Support for acquiring Realms from JNDI, particularly useful for configuring Shiro in JEE or EJB environments.
org.apache.shiro.realm.ldap
Realms that acquire security data from an LDAP (Lightweight Directory Access Protocol) server utilizing LDAP/Naming APIs.
org.apache.shiro.realm.text
Realms that acquire security data from text-based data sources such as Files or text streams.
org.apache.shiro.samples  
org.apache.shiro.session
Components related to managing sessions, the time-based data contexts in which a Subject interacts with an application.
org.apache.shiro.session.mgt
SessionManager components supporting enterprise session management.
org.apache.shiro.session.mgt.eis
EIS (Enterprise Information System)-tier components that can perform CRUD operations for sessions using any EIS API.
org.apache.shiro.session.mgt.quartz
Quartz-based implementations of components that help SessionManager implementations maintain sessions (timed expiration, orphan cleanup, etc).
org.apache.shiro.spring
Spring Application Framework support for enabling Shiro in spring applications.
org.apache.shiro.spring.aop  
org.apache.shiro.spring.boot.autoconfigure  
org.apache.shiro.spring.boot.autoconfigure.exception  
org.apache.shiro.spring.config  
org.apache.shiro.spring.config.web.autoconfigure  
org.apache.shiro.spring.remoting
Support to enable Spring-based remote method invocations to carry a Shiro session ID as part of the invocation payload, allowing remote clients to perform security operations.
org.apache.shiro.spring.security.interceptor
Spring AOP support for enabling Shiro annotations in Spring-configured applications.
org.apache.shiro.spring.web
Spring-specific components for use in Spring-based web applications.
org.apache.shiro.spring.web.config  
org.apache.shiro.subject
Components supporting the Subject interface, the most important concept in Shiro's API.
org.apache.shiro.subject.support
Concrete support implementations of most of the org.apache.shiro.subject interfaces.
org.apache.shiro.testing.web  
org.apache.shiro.tools.hasher  
org.apache.shiro.util
Your run-of-the-mill 'util' package for components and logic widely used across the framework that can't find their home into a proper OO hierarchy (or, most likely for things used across many hierarchies).
org.apache.shiro.web
Shiro's web support module to support security in any web-enabled application.
org.apache.shiro.web.config
Web-specific implementation extensions to the org.apache.shiro.config components.
org.apache.shiro.web.env
Web-specific Environment implementation and support.
org.apache.shiro.web.filter
Base package supporting all Servlet Filter implementations used to control access to web pages and URL resources.
org.apache.shiro.web.filter.authc
Servlet Filter implementations specific to controlling access based on a subject's authentication status, or those that can execute authentications (log-ins) directly.
org.apache.shiro.web.filter.authz
Servlet Filter implementations that perform authorization (access control) checks based on the Subject's abilities (for example, role or permission checks).
org.apache.shiro.web.filter.mgt
The filter 'mgt' (management) package contains components used in managing Filters that are available for filter chain construction, the filter chains themselves, as well as resolving filter chains based by name.
org.apache.shiro.web.filter.session  
org.apache.shiro.web.jaxrs  
org.apache.shiro.web.mgt
Components supporting web-specific SecurityManager implementations.
org.apache.shiro.web.servlet
Shiro-specific implementations of the Servlet API (Servlet Filters, et al).
org.apache.shiro.web.session
Components supporting Session management in web-enabled applications.
org.apache.shiro.web.session.mgt  
org.apache.shiro.web.subject
Web-specific Subject interfaces to enable Subject use in web environments.
org.apache.shiro.web.subject.support
Supporting implementations of org.apache.shiro.web.subject package interfaces.
org.apache.shiro.web.tags
Provides the Shiro JSP Tag Library implementations.
org.apache.shiro.web.util