Heim > Artikel > Backend-Entwicklung > Apache Shiro-Benutzerhandbuch (5) Shiro-Konfigurationsanweisungen
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 'realms' 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)!