Pregunta

Estoy tratando de construir una lógica de control que depende de la página gsp actual para llamar a una acción, hay una etiqueta o un método sesión que pueda utilizar para identificar la página actual gsp

Quiero restringir el acceso a todos los GSP excepto singup y de inicio de sesión, por lo que si un usuario abra cualquier otra gsp que será redirigido registrarse página y que también será capaz de navegar a la página de inicio de sesión.

La lógica que estoy tratando de poner en práctica es como esto si es CURRENT_PAGE login.gsp o singup.gsp luego hacer otra cosa redirigir registrarse // donde el usuario puede navegar a la página de acceso sin problemas también

Y quiero añadir esta lógica en el diseño principal, así que se implementa a través de todo el dominio de aplicación.

Me pregunto si hay una forma alternativa de hacer esto utilizando RequestmapController o urlMappings?

Cualquier persona con experiencia en SpringMVC será capaz de ayudar a la mayor Grails se construye en la parte superior SpringMVC, que a su vez se construye en la parte superior del marco servlet estándar!

Nota: Estoy usando Acegi Plugin

Observación: ¿Cómo puede ser la aplicación de SEO-friendly (es decir la indexación Google.) Con este tipo de mecanismo de seguridad implementado?

¿Fue útil?

Solución

Editar : Lo siento, no he entendido bien su pregunta. Pensé que estabas buscando una alternativa a Requestmaps. Eso es por lo que se propuso inicialmente asegurar los controladores con anotaciones.

Si desea utilizar Requestmaps que podría hacer lo siguiente:

  1. Crear un nuevo requestMap que tiene este aspecto:
    patrón de URL = /login/**
    Role = IS_AUTHENTICATED_ANONYMOUSLY

  2. Para restringir el acceso al resto del sitio crear otra entrada requestMap que coincide con todas las direcciones:
    patrón de URL = /*/**
    Role = ROLE_USER (se podría utilizar cualquier otra función que desee)

IS_AUTHENTICATED_ANONYMOUSLY significa que cualquier persona puede acceder a la emparejado URLs.The primera regla es más específico y por lo tanto debe sobrescribir el segundo y más general regla.

Usted puede mirar en AcegiSecurity Plugin - Asegurar URLs para más información .

En cuanto a SEO del sitio. Que yo sepa los motores de búsqueda no pueden acceder a sitios que requieren autenticación. Es por eso que los sitios como intercambio de los expertos utilizan trucos astuto para la indexación por Google.

Usted puede optar por dar a los usuarios acceso de lectura anónimo mientras que requiere un inicio de sesión para escribir (como lo hace). Esto permitiría que su sitio sea indexado por los robots de los motores de búsqueda.

Espero que esto ayude!

Otros consejos

Usted debe leer esto: texto del enlace

Y el tutorial usando ACEGI plugin: texto del enlace

Esta última es la forma en que iría. Se le permite a las funciones de configuración y "páginas" seguras y URLs de papel. También incluye un modo de crear usuarios y asignarlos a los papeles.

Para instalar el plug-in ACEGI griales, hacer un: grails install-plugin acegi

Se necesita el complemento de seguridad de la primavera. La mejor manera de hacerlo es no dentro de sus GSP pero utilizando un filtro en todas las peticiones web. Eso te dará la Requestmaps y urlMappings GrailsNewbie mencionado.

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