Pregunta

Tengo un griales 1.2 aplicación y quiero utilizar la seguridad declarativa con el fin de restringir accesos basado en roles. Decidí probar shiro, instalado el plugin, pero cuando intento de autenticar, el mensaje "nombre de usuario y / o contraseña no válida" aparece en el encabezado. Compruebo la entrada db y el usuario está allí con la contraseña sha'ed. No hay mensajes se muestran ni en la consola ni en el archivo StackTrace. Añadí "advierten 'org.jsecurity'" a Config.groovy sin resultados. ¿Alguna pista / trucos para solucionar esto?

¿Fue útil?

Solución

me encontré con este problema, así ... ¿cómo está ahorrando la contraseña para el usuario? Después de ejecutar rápida iniciar Seguí el ejemplo de la página y Shiro complemento añadido el código de abajo a mi método de arranque de inicio:

import org.apache.shiro.crypto.hash.Sha512Hash

def user = new ShiroUser(username: "user123", passwordHash: new Sha512Hash("password").toHex())
user.save()

Yo trataría de inicio de sesión y continuaría para conseguir un inicio de sesión falló. Así que traté

def user = new ShiroUser(username:'admin', passwordHash:new Sha256Hash("admin").toHex())
user.save()

Después de cambiar de Sha512Hash a Sha256Hash ... yo era capaz de inicio de sesión!

ACTUALIZACIÓN: acaba de crear una nueva aplicación con la configuración predeterminada Shiro Plugin después de ejecutar 'Quick-start'. Si va a crear un usuario, se le va a querer utilizar Sha256Hash fuera de la caja. Sin embargo, puede utilizar Sha512Hash o Sha1Hash añadiendo el grano a su archivo resources.groovy para la primavera.

Ejemplo para Sha512Hash:

beans = {
  bean {
    credentialMatcher(Sha512CredentialsMatcher) {
      storedCredentialsHexEncoded = true
    }
  }
}

Otros consejos

¿Se corre el inicio rápido? ¿Está utilizando la base de datos predeterminada reino?

Me depurar a través del reino que está utilizando y ver lo que está pasando.

No puedo ayudar con la solución de problemas shiro, pero si usted está buscando una solución más poderosa es posible que desee comprobar hacia fuera ágil. Se basa en shiro y ofrece una gran cantidad de características y flexibilidad adicionales.

Se puede instalar la última con:
grails install-plugin nimble 0.4-SNAPSHOT

documentación ágil

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top