Question

Je suis en train de construire une logique de contrôle qui dépend de la page en cours gsp appeler une action, est-il une étiquette ou une méthode de la session que je peux utiliser pour identifier la page actuelle gsp

Je veux restreindre l'accès à tous sauf singup et GSP connexion, donc si un utilisateur ouvre un autre gsp, il sera redirigé vers la page et inscrire, il sera également en mesure de naviguer à la page de connexion.

La logique que je suis en train de mettre en œuvre est comme cela si CURRENT_PAGE est alors login.gsp ou singup.gsp ne rien d'autre redirect pour inscrire // où l'utilisateur peut accéder à la page de connexion sans problème aussi

Et je veux ajouter cette logique dans la mise en page principale de sorte qu'il soit mis en oeuvre dans l'ensemble du domaine d'application.

Je me demande s'il y a une autre façon de le faire en utilisant RequestmapController ou UrlMappings?

Toute personne ayant une expérience dans SpringMVC sera en mesure d'aider le Grails est construit sur le dessus SpringMVC, qui à son tour est construit au-dessus du cadre de servlet standard!

Note: J'utilise Plugin Acegi

Remarque: Comment être l'application SEO-friendly (i.e. l'indexation de Google.) Avec ce type de mécanisme de sécurité mis en œuvre?

Était-ce utile?

La solution

Modifier : Désolé, j'ai mal compris votre question. Je croyais que vous recherchez une alternative à Requestmaps. Voilà pourquoi je l'ai suggéré à l'origine fixer les régulateurs avec des annotations.

Si vous voulez utiliser Requestmaps vous pouvez faire ce qui suit:

  1. Créer une nouvelle Requestmap qui ressemble à ceci:
    motif URL = /login/**
    Rôle = IS_AUTHENTICATED_ANONYMOUSLY

  2. Pour restreindre l'accès au reste du site créer une autre entrée de requestmap qui correspond à tous les urls:
    motif URL = /*/**
    Rôle = ROLE_USER (vous pouvez utiliser tout autre rôle que vous voulez)

IS_AUTHENTICATED_ANONYMOUSLY signifie que toute personne peut accéder à la correspondance URLs.The première règle est plus spécifique et ne devrait donc remplacer la règle et deuxième plus générale.

Vous pouvez regarder AcegiSecurity Plugin - Sécurisation URL pour plus d'informations .

En ce qui concerne le référencement du site. Les moteurs de recherche ne peuvent pas accéder AFAIK les sites qui ont besoin d'authentification. Voilà pourquoi des sites comme l'échange d'experts utilisent trucs sournois pour obtenir indexés par Google.

Vous pouvez choisir de donner aux utilisateurs un accès en lecture anonyme tout en nécessitant une connexion pour l'écriture (comme le fait SO). Cela permettrait que votre site soit indexé par les robots des moteurs de recherche.

J'espère que cela aide!

Autres conseils

Vous devriez lire ceci: texte du lien

Et le tutoriel en utilisant le plugin ACEGI: texte du lien

Ce dernier est la façon dont j'irais. Il vous permet de rôles de configuration et sécurisés « pages » et les URL par rôle. Il comprend également un moyen de créer des utilisateurs et de les affecter à des rôles.

Pour installer le plug-in ACEGI Grails, faire: grails install-plugin acegi

Vous avez besoin du plug-in de sécurité du printemps. La meilleure façon de le faire est pas dans votre GSP, mais en utilisant un filtre sur toutes les requêtes Web. Cela vous donnera mentionné le Requestmaps et UrlMappings GrailsNewbie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top