>  기사  >  백엔드 개발  >  Apache Shiro 사용자 설명서 (5) Shiro 구성 지침

Apache Shiro 사용자 설명서 (5) Shiro 구성 지침

黄舟
黄舟원래의
2017-01-18 09:34:151724검색

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 &#39;realms&#39; 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)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.