Maison > Article > développement back-end > Manuel d'utilisation d'Apache Shiro (5) Instructions de configuration de Shiro
Manuel d'utilisation d'Apache Shiro (5) Instructions de configuration de Shiro
Catégorie de blog :
Développement
Framework de sécurité Shiro
La configuration d'Apache Shiro est principalement divisé en Il est divisé en quatre parties :
Définition et configuration des objets et attributs
Configuration du filtre URL
Configuration utilisateur statique
Configuration des rôles statiques
Parmi eux, étant donné que les utilisateurs et les rôles sont généralement des données dynamiques gérées en arrière-plan, la configuration Shiro ne contient généralement que les deux premières configurations.
La plupart des composants d'Apache Shiro sont basés sur POJO, nous pouvons donc utiliser n'importe quel mécanisme de configuration compatible POJO pour la configuration, tel que le code Java, Sping XML, YAML, JSON, les fichiers ini, etc. Ci-dessous, prenons la méthode de configuration Spring XML comme exemple et donnons quelques brèves explications sur certains paramètres de configuration.
Configuration des objets Shiro :
Définit et configure principalement l'implémentation de chaque composant de Shiro. Les principaux composants ont été brièvement présentés dans l'article précédent et ne seront pas expliqués un par un ici.
<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>
Configuration du filtre Shiro
Shiro effectue principalement la gestion de la sécurité via le filtrage d'URL. La configuration ici consiste à spécifier la définition de la règle d'autorisation spécifique.
<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>
Instructions de configuration du filtre URL :
Shiro peut implémenter une vérification d'autorisation basée sur l'URL via des fichiers de configuration. Format de définition de FilterChain :
URL_Ant_Path_Expression = Path_Specific_Filter_Chain
Chaque configuration d'URL indique que les demandes d'application correspondant à l'URL seront vérifiées par le filtre correspondant.
Par exemple :
[urls] /index.html = anon /user/create = anon /user/** = authc /admin/** = authc, roles[administrator] /rest/** = authc, rest /remoting/rpc/** = authc, perms["remote:invoke"]
Description de l'expression URL
1 Le répertoire URL est basé sur HttpServletRequest.getContextPath(). 2. Des caractères génériques d'URL peuvent être utilisés, ** représente n'importe quel sous-répertoire
3. Lorsque Shiro vérifie l'URL, si l'URL correspond avec succès, elle ne continuera plus à correspondre et à rechercher. Faites donc attention à l'ordre des URL dans le fichier de configuration, notamment lorsque vous utilisez des caractères génériques.
Description de la définition de la chaîne de filtres
1. Une URL peut configurer plusieurs filtres, séparés par des virgules
2 Lorsque plusieurs filtres sont définis, toutes les vérifications doivent être considérées comme réussies.
3. Certains filtres peuvent spécifier des paramètres, tels que les autorisations, les rôles
FilterChain intégré de Shiro
Classe de nom de filtre
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.PermissionsautHorizationFilterPort Org.apache.shiro.w eb.filter.authz.Portfilter
REST ORG. .shiro.web.filter.authz.HttpMethodPermissionFilter rôles org.apache.shiro.web.filter.authz.RolesAuthorizationFilter ssl org.apache.shiro.web.filter.authz. user org.apache.shiro.web.filter.authc.UserFilter Ce qui précède est le contenu du manuel d'utilisation d'Apache Shiro (5) Instructions de configuration de Shiro Pour plus de contenu connexe, veuillez. faites attention à PHP Chinese Net (www.php.cn) !