2017-10-09 1 views
0

Ich versuche eine Anwendung zu Maven zu ändern. Ich arbeite mit NetBeans und GlassFish 3.1.2.2. Es gibt ein Problem, das ich nicht lösen kann. Ich habe gesucht und ich habe keine Lösung gefunden. Mein Problem ist mit Shiro. Die Glassfish-Konsole zeigen, dass:Ausnahme mit Shiro und Maven

Grave: java.lang.IllegalArgumentException: Konfigurationsfehler. Angegebenes Objekt [anyrofles] mit der Eigenschaft [loginUrl], ohne zuerst die Klasse dieses Objekts zu definieren. Bitte geben Sie zuerst die Klasseneigenschaft an, z. myObject = fully_qualified_class_name und dann definieren Sie zusätzliche Eigenschaften. bei org.apache.shiro.config.ReflectionBuilder.applySingleProperty (ReflectionBuilder.java:361) bei org.apache.shiro.config.ReflectionBuilder.applyProperty (ReflectionBuilder.java:325)

Meine Shiro Versionen sind das gleiche bei dem vorherigen Projekt: * shiro-cas -> 1.2.0 * shiro-Core -> 1.3.0 * shiro-web -> 1.3.0

Mein shiri.ini enthält, dass:

[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"] 

Beim vorherigen Projekt arbeitete Shiro normal.

Vielen Dank für Ihre Hilfe und Entschuldigung für mein Englisch.

Antwort

0

Die Fehlermeldungen, sagt man zuerst das Objekt erklären sollte:

anyofroles = com.asesoreslocales.security.AnyRolesAuthorizationFilter

und dann die Eigenschaften davon definieren:

anyofroles.loginUrl = /login.xhtml

Haben Sie das versuchen? Vielleicht so:

[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

Es war das ... Es macht Sinn, aber als ich versuchte, es zu reparieren, habe ich nicht darüber nachgedacht. Ich weiß nicht, warum das vorhergehende Projekt normal funktioniert. Ich danke dir sehr!! – Hijano

+0

Kein Problem, gern geschehen. Freue mich zu helfen. – funfried