Shiro는 인증, 권한 부여, 비밀번호 및 세션 관리를 수행하는 강력하고 사용하기 쉬운 Java 보안 프레임워크입니다.
Shiro의 이해하기 쉬운 API를 사용하면 가장 작은 모바일 앱부터 가장 큰 웹 및 엔터프라이즈 애플리케이션까지 모든 애플리케이션을 빠르고 쉽게 얻을 수 있습니다.
세 가지 핵심 구성 요소: 제목, SecurityManager 및 Realms.
제목: "현재 운영 사용자". 그러나 Shiro에서 주체 개념은 사람을 지칭할 뿐만 아니라 타사 프로세스, 백그라운드 계정(데몬 계정) 또는 기타 유사한 것일 수도 있습니다. 이는 단순히 "소프트웨어가 현재 상호 작용하는 대상"을 의미합니다.
SecurityManager: 일반적인 Facade 모드인 Shiro 프레임워크의 핵심입니다. Shiro는 SecurityManager를 사용하여 내부 구성 요소 인스턴스를 관리하고 이를 통해 보안 관리를 위한 다양한 서비스를 제공합니다.
Realm: Realm은 Shiro와 애플리케이션 보안 데이터 사이의 "브리지" 또는 "커넥터" 역할을 합니다. 즉, 사용자에 대한 인증(로그인) 및 권한 부여(액세스 제어) 확인을 수행할 때 Shiro는 애플리케이션에 구성된 Realm에서 사용자와 해당 권한 정보를 조회합니다.
이런 의미에서 Realm은 본질적으로 보안 관련 DAO입니다. Realm은 데이터 소스의 연결 세부 정보를 캡슐화하고 필요할 때 Shiro에 관련 데이터를 제공합니다. Shiro를 구성할 때 인증 및/또는 권한 부여를 위해 하나 이상의 영역을 지정해야 합니다. 여러 Realm을 구성할 수 있지만 적어도 하나는 필수입니다.