Heim  >  Artikel  >  Backend-Entwicklung  >  Apache Shiro-Benutzerhandbuch (5) Shiro-Konfigurationsanweisungen

Apache Shiro-Benutzerhandbuch (5) Shiro-Konfigurationsanweisungen

黄舟
黄舟Original
2017-01-18 09:34:151717Durchsuche

Apache Shiro-Benutzerhandbuch (5) Shiro-Konfigurationsanweisungen

Blog-Kategorie:

Entwicklung

Sicherheits-Framework Shiro

Die Konfiguration von Apache Shiro ist Hauptsächlich unterteilt in Es ist in vier Teile unterteilt:

Definition und Konfiguration von Objekten und Attributen
URL-Filterkonfiguration
Statische Benutzerkonfiguration
Statische Rollenkonfiguration

Darunter: Da Benutzer und Rollen im Allgemeinen dynamische Daten im Hintergrund verarbeiten, enthält die Shiro-Konfiguration im Allgemeinen nur die ersten beiden Konfigurationen.

Die meisten Komponenten von Apache Shiro basieren auf POJO, sodass wir jeden POJO-kompatiblen Konfigurationsmechanismus für die Konfiguration verwenden können, wie Java-Code, Sping XML, YAML, JSON, INI-Dateien usw. Nehmen Sie im Folgenden die Spring XML-Konfigurationsmethode als Beispiel und erläutern Sie einige der Konfigurationsparameter kurz.

Konfiguration von Shiro-Objekten:

Definiert und konfiguriert hauptsächlich die Implementierung jeder Komponente von Shiro. Die Hauptkomponenten wurden im vorherigen Artikel kurz vorgestellt und werden hier nicht einzeln erläutert.

<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-Filterkonfiguration

Shiro führt hauptsächlich die Sicherheitsverwaltung durch URL-Filterung durch. Die Konfiguration dient hier der Angabe der spezifischen Autorisierungsregeldefinition.

<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>

Anweisungen zur Konfiguration des URL-Filters:

Shiro kann eine URL-basierte Autorisierungsüberprüfung über Konfigurationsdateien implementieren. FilterChain-Definitionsformat:

URL_Ant_Path_Expression = Path_Specific_Filter_Chain

Jede URL-Konfiguration gibt an, dass Anwendungsanfragen, die mit der URL übereinstimmen, durch den entsprechenden Filter überprüft werden.

Zum Beispiel:

[urls] 

/index.html = anon 

/user/create = anon 

/user/** = authc 

/admin/** = authc, roles[administrator] 

/rest/** = authc, rest 

/remoting/rpc/** = authc, perms["remote:invoke"]

URL-Ausdrucksbeschreibung

1. Das URL-Verzeichnis basiert auf HttpServletRequest.getContextPath(). Diese Verzeichniseinstellung

2. URL-Platzhalter können verwendet werden, ** steht für ein beliebiges Unterverzeichnis

3. Wenn Shiro die URL überprüft und die URL erfolgreich übereinstimmt, wird der Abgleich und die Suche nicht mehr fortgesetzt. Achten Sie daher auf die Reihenfolge der URLs in der Konfigurationsdatei, insbesondere bei der Verwendung von Platzhaltern.

Beschreibung der Filterkette

1. Eine URL kann mehrere Filter konfigurieren, die durch Kommas getrennt sind.

2. Wenn mehrere Filter festgelegt sind, müssen alle Überprüfungen als bestanden gelten

3. Einige Filter können Parameter angeben, wie z. B. Dauerwellen, Rollen

Shiros integrierte Filterkette

Filternamensklasse

anon org. shiro.web.filter.authc.AnonymousFilter

authc org.apache.shiro.web.filter.authc.FormAuthenticationFilter

authcBasic org.apache.shiro.web.filter.authc BASICHTTPAUTHENTINTINFILTER

Perms org.apache.Shiro.web.filter.authz.PermissionsautHorizationFilter

Port Org.apache.shiro.w eb.filter.authz.Portfilter

REST ORG .shiro.web.filter.authz.HttpMethodPermissionFilter

roles org.apache.shiro.web.filter.authz.RolesAuthorizationFilter

ssl org.apache.shiro.web.filter.authz SslFilter

Benutzer org.apache.shiro.web.filter.authc.UserFilter

Das Obige ist der Inhalt des Apache Shiro-Benutzerhandbuchs (5) Shiro-Konfigurationsanweisungen. Für weitere verwandte Inhalte zahlen Sie bitte Achtung PHP Chinese Net (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn