Actualmente, estoy usando el objeto HttpSession defecto en ambos controladores y las páginas SPG:¿Cómo usar una sesión nativa shiro en una aplicación web Grails?
En los controladores:
...
session.mykey = anObject; // adding an object to session
...
if (session.otherkey) { // performing some checking
En GSP:
...
<g:if test="${session.mykey}">
...
Me gustaría tener un " recuerda mi "funcionalidad". Shiro ya lo tiene incorporado. Sin embargo, por lo que he entendido, para hacerlo debo usar el modo de sesión nativo shiro (en Config.groovy: security.shiro.session.mode = "native"). De forma predeterminada, persiste el estado de la sesión, por lo que los objetos permanecerán en la sesión siempre que la cookie caduque o el usuario cierre la sesión.
¿Entiendo bien?
Entonces voy a tener que cambiar mis controladores a esto:
def shiroSession = SecurityUtils.subject.session
shiroSession.setAttribute("mykey",anObject)
....
if (shiroSession.getAttribute("otherkey")){
Y mis puntos de vista a este:
<g:if test="${SecurityUtils.subject.session.getAttribute('mykey')}">
Por lo tanto, mis preguntas son:
- ¿Es eso cierto ?
- ¿No puedo usar la forma anterior para acceder a la sesión?
- ¿Debo desactivar la sesión http predeterminada en alguna configuración?
no necesita la sesión nativa para utilizar "recordarme". – user852518
¿qué sugieres? ¿Puedes señalarme algunos enlaces? Probé la sesión nativa después de leer esta publicación: http://grails.1312388.n4.nabble.com/Forcing-authentication-of-user-in-Grails-filter-using-Shiro-tp3698679p3702316.html – r0drigopaes
Desde: https: //grails.org/plugin/shiro mira el control de acceso por convención. Usted acaba de configurar '' 'accessControl (auth: false)' '' en '' 'SecurityUtils.groovy'''. Debería funcionar si está pasando la bandera rememberMe correctamente. –