Apache Shiro 사용자 매뉴얼 (5) Shiro 구성 지침
블로그 카테고리:
개발
Security Framework Shiro
Apache Shiro의 구성은 다음과 같습니다. 크게 4가지로 나누어진다:
객체 및 속성 정의 및 구성
URL 필터 구성
정적 사용자 구성
정적 역할 구성
그 중, 사용자와 역할은 일반적으로 동적 데이터가 백그라운드에서 작동하므로 Shiro 구성에는 일반적으로 처음 두 구성만 포함됩니다.
Apache Shiro의 대부분의 구성 요소는 POJO를 기반으로 하므로 Java 코드, Sping XML, YAML, JSON, ini 파일 등과 같은 POJO 호환 구성 메커니즘을 구성에 사용할 수 있습니다. 아래에서는 Spring XML 구성 방법을 예로 들어 일부 구성 매개변수에 대해 간략하게 설명합니다.
Shiro 객체 구성:
주로 Shiro의 각 구성 요소 구현을 정의하고 구성합니다. 주요 구성 요소는 이전 기사에서 간략하게 소개되었으며 여기서는 하나씩 설명하지 않습니다.
<bean id="securityManager" class="org.apache.shiro.mgt.DefaultSecurityManager"> <property name="cacheManager" ref="cacheManager"/> <property name="sessionMode" value="native"/> <!-- Single realm app. If you have multiple realms, use the 'realms' property instead. --> <property name="realm" ref="myRealm"/> <property name="sessionManager" ref="sessionManager"/> </bean>
Shiro 필터 구성
Shiro는 주로 URL 필터링을 통한 보안 관리를 수행합니다. 여기서 구성은 특정 권한 규칙 정의를 지정하는 것입니다.
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager"/> <property name="loginUrl" value="/login.jsp"/> <property name="successUrl" value="/home.jsp"/> <property name="unauthorizedUrl" value="/unauthorized.jsp"/> --> <property name="filterChainDefinitions"> <value> # some example chain definitions: /admin/** = authc, roles[admin] /docs/** = authc, perms[document:read] /** = authc # more URL-to-FilterChain definitions here </value> </property> </bean>
URL 필터 구성 지침:
Shiro는 구성 파일을 통해 URL 기반 인증 확인을 구현할 수 있습니다. FilterChain 정의 형식:
URL_Ant_Path_Expression = Path_Specific_Filter_Chain
각 URL 구성은 URL과 일치하는 애플리케이션 요청이 해당 필터에 의해 확인됨을 나타냅니다.
예:
[urls] /index.html = anon /user/create = anon /user/** = authc /admin/** = authc, roles[administrator] /rest/** = authc, rest /remoting/rpc/** = authc, perms["remote:invoke"]
URL 표현식 설명
1. URL 디렉터리는 HttpServletRequest.getContextPath()를 기반으로 합니다.
2. URL은 와일드카드를 사용할 수 있으며, **는 모든 하위 디렉터리를 나타냅니다
3. Shiro가 URL을 확인할 때 URL이 성공적으로 일치하면 더 이상 일치하는 검색을 계속하지 않습니다. 따라서 특히 와일드카드를 사용할 때 구성 파일의 URL 순서에 주의하십시오.
필터 체인 정의 설명
1. URL은 쉼표로 구분된 여러 필터를 구성할 수 있습니다.
2. 여러 필터가 설정된 경우 모든 확인을 통과한 것으로 간주됩니다.
3. 일부 필터는 권한, 역할과 같은 매개변수를 지정할 수 있습니다.
Shiro의 내장 FilterChain
필터 이름 클래스
anon org. shiro.web.filter.authc.AnonymousFilter
authc org.apache.shiro.web.filter.authc.FormAuthenticationFilter
authcBasic org.apache.shiro.web.filter.authc. 🎜>
Perms org.apache.Shiro.web.filter.authz.permissionsautHorizationFilter포트 b.filter.authz.Portfilter
REST ORG. authz.HttpMethodPermissionFilter 역할 org.apache.shiro.web.filter.authz.RolesAuthorizationFilter ssl org.apache.shiro.web.filter.authz 사용자. org.apache.shiro.web.filter.authc.UserFilter 위는 Apache Shiro 사용자 매뉴얼 (5) Shiro 구성 지침의 내용입니다. 자세한 내용은 PHP Chinese Net( www.php.cn)!