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

黄舟
黄舟original
2017-01-18 09:34:151718parcourir

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 &#39;realms&#39; 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.PermissionsautHorizationFilter

Port 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) !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn