awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apache avatar

apache/shiro

0
View on GitHub↗
4,432 stars·2,298 forks·Java·Apache-2.0·4 viewsshiro.apache.org↗

Shiro

Shiro is a Java security framework that provides an identity and access manager for implementing authentication, authorization, cryptography, and session management. It serves as a security layer to verify user identities and enforce role-based access control for protected system resources.

The project features a pluggable realm architecture that decouples security logic from identity data and a standalone session management system that tracks user state independently of the underlying servlet container. It includes an integrator for external identity providers using federation protocols such as OAuth 2.0 and SAML to enable single sign-on.

The framework covers a broad capability surface including request interception through filter chains, declarative security enforcement via annotations, and the protection of sensitive data using symmetric and asymmetric cryptographic wrappers. It also provides utilities for caching security lookups and managing distributed session lifecycles across enterprise environments.

Features

  • Java Security Frameworks - Provides a comprehensive security framework for authentication, authorization, and session management in Java applications.
  • Annotation-Based Security - Enforces access control by checking user permissions against roles defined via Java annotations.
  • Pluggable Realm Architectures - Features a pluggable realm architecture that decouples security logic from identity data sources.
  • HTTP Request Filtering - Filters HTTP requests to protect URL paths and endpoints by requiring specific authentication levels.
  • Identity and Access Management - Acts as a security layer that verifies user identities and enforces role-based access control.
  • Generic Resource Authorization - Evaluates permissions and roles to determine if a user is authorized to perform specific actions.
  • User Identity Verification - Verifies user identities by matching credentials against pluggable data sources such as LDAP or JDBC.
  • Path-Based Access Rules - Uses URL-based filter chains and path matching to intercept requests and enforce security constraints.
  • SAML Integrations - Integrates with external identity providers using SAML and OAuth 2.0 for single sign-on capabilities.
  • User - Tracks user state and interaction across multiple requests regardless of the storage mechanism.
  • Role-Based Access Control - Implements role-based access control to grant or deny resource access based on assigned roles and permissions.
  • URL Security Policy Enforcement - Restricts access to specific URL patterns in web applications using filters to enforce security policies.
  • Session Lifecycle Management - Manages the lifecycle, expiration, and rotation of user sessions independently of the web container.
  • Web Session Management - Implements a standalone session management system that tracks user state independently of the servlet container.
  • Application Session Management - Provides a standalone session API to track user state independently of the servlet container.
  • Security Filter Chains - Uses sequenced filter chains to intercept web requests and enforce security constraints before they reach the application.
  • Security Lookup Caching - Stores security lookups in memory to reduce data retrieval time and enhance performance.
  • Security Data Caches - Implements pluggable memory and distributed caching for authentication and authorization lookups to optimize performance.
  • Distributed Session Managers - Provides distributed session management to synchronize user state across enterprise environments.
  • Application Data Security - Secures application data and passwords using symmetric/asymmetric encryption and salted hashing.
  • Symmetric and Asymmetric Ciphers - Provides unified API wrappers for symmetric and asymmetric ciphers to encrypt sensitive data and hash passwords.
  • Cryptographic Operations - Provides an SDK for performing symmetric and asymmetric encryption and signing operations.
  • Java - Ships a set of Java-based tools for symmetric/asymmetric encryption and secure password hashing.
  • Data Protection - Protects sensitive information using cryptographic hashing with salts and symmetric encryption.
  • Enterprise Identity Providers - Connects applications to enterprise identity providers using LDAP, OAuth 2.0, and SAML.
  • External Identity Provider Integration - Integrates with external identity providers using standard protocols like OAuth 2.0 and SAML.
  • Distributed Session Storage - Manages user session lifecycles across distributed server nodes to maintain a consistent user experience.
  • Annotation-Based Authorization - Provides annotations to declaratively enforce role-based access control on Java methods and classes.
  • Single Sign-On Solutions - Enables single sign-on by sharing authentication state across federated applications.
  • Identity Context Management - Establishes and persists a security context for users to maintain identity across requests.
  • Web Access Management - Protects URLs through automated login, logout, and remember-me services with minimal configuration.
  • Security - Connects security logic and access control into existing Java software frameworks.
  • Security Context Propagators - Maintains a thread-local security context representing the current user and their associated permissions.

Star history

Star history chart for apache/shiroStar history chart for apache/shiro

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does apache/shiro do?

Shiro is a Java security framework that provides an identity and access manager for implementing authentication, authorization, cryptography, and session management. It serves as a security layer to verify user identities and enforce role-based access control for protected system resources.

What are the main features of apache/shiro?

The main features of apache/shiro are: Java Security Frameworks, Annotation-Based Security, Pluggable Realm Architectures, HTTP Request Filtering, Identity and Access Management, Generic Resource Authorization, User Identity Verification, Path-Based Access Rules.

What are some open-source alternatives to apache/shiro?

Open-source alternatives to apache/shiro include: zhangkaitao/shiro-example — This project is a reference implementation and a collection of code samples for deploying the Apache Shiro security… teamhanko/hanko — Hanko is an open-source identity provider and customer identity and access management system. It serves as a passkey… spring-projects/spring-security — Spring Security is a comprehensive security framework for Java applications that provides authentication and… quarkusio/quarkus — Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications.… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… aarondl/authboss — Authboss is a modular HTTP authentication framework for managing user identity, session lifecycles, and password…

Open-source alternatives to Shiro

Similar open-source projects, ranked by how many features they share with Shiro.
  • zhangkaitao/shiro-examplezhangkaitao avatar

    zhangkaitao/shiro-example

    4,775View on GitHub↗

    This project is a reference implementation and a collection of code samples for deploying the Apache Shiro security framework within Java-based web applications. It serves as a demonstration for implementing authentication, authorization, and user identity management. The implementation features distributed session management to coordinate user states across multiple server instances for high availability. It also includes samples for third-party OAuth2 integration, enabling external account authentication, and single sign-on support to grant access to multiple related applications. The proj

    HTMLshiro
    View on GitHub↗4,775
  • teamhanko/hankoteamhanko avatar

    teamhanko/hanko

    8,801View on GitHub↗

    Hanko is an open-source identity provider and customer identity and access management system. It serves as a passkey authentication service and an OAuth and SAML SSO gateway, allowing applications to authenticate users and issue tokens via standard identity protocols. The project distinguishes itself through a strong focus on passwordless access using WebAuthn-based passkeys and email-based passcodes. It provides framework-agnostic authentication interfaces as customizable web components that can be embedded directly into web applications to handle login, registration, and profile management.

    Go2faauthenticationciam
    View on GitHub↗8,801
  • spring-projects/spring-securityspring-projects avatar

    spring-projects/spring-security

    9,535View on GitHub↗

    Spring Security is a comprehensive security framework for Java applications that provides authentication and authorization for both web and non-web environments. It functions as an implementation of authentication and authorization logic integrated with the Java runtime environment to protect sensitive resources from unauthorized access. The framework includes toolkits for implementing OpenID Connect and OAuth 2.0 authorization servers and clients, as well as tools for integrating SAML 2.0 identity providers to enable cross-domain single sign-on. It utilizes a role-based access control system

    Javaframeworkjavasecurity
    View on GitHub↗9,535
  • quarkusio/quarkusquarkusio avatar

    quarkusio/quarkus

    15,479View on GitHub↗

    Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program

    Javacloud-nativehacktoberfestjava
    View on GitHub↗15,479
See all 30 alternatives to Shiro→