2017-10-09 3 views
0

J'essaye de changer une application à Maven. Je travaille avec NetBeans et GlassFish 3.1.2.2. Il y a un problème que je ne peux pas résoudre. J'ai cherché et je n'ai trouvé aucune solution. Mon problème est avec Shiro. Le spectacle de la console GlassFish que:Exception avec Shiro et Maven

Grave: java.lang.IllegalArgumentException: Erreur de configuration. Objet spécifié [anyofroles] avec la propriété [loginUrl] sans avoir d'abord défini la classe de cet objet. Veuillez d'abord spécifier la propriété de classe en premier, par ex. myObject = fully_qualified_class_name, puis définissez des propriétés supplémentaires. à org.apache.shiro.config.ReflectionBuilder.applySingleProperty (ReflectionBuilder.java:361) à versions org.apache.shiro.config.ReflectionBuilder.applyProperty (ReflectionBuilder.java:325)

Mes Shiro sont même au projet précédent: * Shiro-cas -> 1.2.0 * Shiro-core -> 1.3.0 * Shiro-web -> 1.3.0

Mon shiri.ini contient que:

[main] 
anyofroles.loginUrl = /login.xhtml 
# realm to be used 
secundaryRealm=com.asesoreslocales.security.SecondaryRealm 
anyofroles = com.asesoreslocales.security.AnyRolesAuthorizationFilter 
builtInCacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager 
securityManager.cacheManager = $builtInCacheManager 

[users] 

[urls] 
/mantenimientos/** = anyofroles["administrador,editor"] 
/remesas/** = anyofroles["administrador,editor"] 
/alegaciones/** = anyofroles["administrador,editor"] 
/notificaciones/** = anyofroles["administrador,editor"] 

/expedientes/expedientes.xhtml = anyofroles["administrador,editor"] 
/expedientes/busquedaExpedientes.xhtml = anyofroles["administrador,editor,consultor"] 

Au projet précédent, Shiro travaillait normalement.

Merci pour votre aide et désolé pour mon anglais.

Répondre

0

Les messages d'erreur indique que vous devez d'abord déclarer l'objet:

anyofroles = com.asesoreslocales.security.AnyRolesAuthorizationFilter

puis définir les propriétés de celui-ci:

anyofroles.loginUrl = /login.xhtml

Avez-vous essayé cela? Peut-être comme ceci:

[main] 
# realm to be used 
secundaryRealm=com.asesoreslocales.security.SecondaryRealm 
anyofroles = com.asesoreslocales.security.AnyRolesAuthorizationFilter 
anyofroles.loginUrl = /login.xhtml 
builtInCacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager 
securityManager.cacheManager = $builtInCacheManager 

[users] 

[urls] 
/mantenimientos/** = anyofroles["administrador,editor"] 
/remesas/** = anyofroles["administrador,editor"] 
/alegaciones/** = anyofroles["administrador,editor"] 
/notificaciones/** = anyofroles["administrador,editor"] 

/expedientes/expedientes.xhtml = anyofroles["administrador,editor"] 
/expedientes/busquedaExpedientes.xhtml = anyofroles["administrador,editor,consultor"] 
+0

C'était ... C'est tout à fait logique, mais quand j'ai essayé de le réparer, je n'y ai pas pensé. Je ne sais pas pourquoi au projet précédent fonctionne normalement. Merci beaucoup!! – Hijano

+0

Pas de problème, de rien. Heureux d'aider. – funfried