J'ai une application où j'utilise la sécurité de printemps avec la mélodie de grails. J'ai l'intention d'exécuter la mélodie de grails dans l'environnement de production, mais je ne veux pas que les visiteurs y aient accès. Comment devrais-je y parvenir? J'ai essayé de créer un filtre dans Grails (juste montrer l'échantillon de ce que je suis en train, pas le code réel) -protection mélodie grails avec filtre de grails
def filters = {
allURIs(uri:'/**') {
before = {
//...
if(request.forwardURI.indexOf("admin") != -1 ||
request.forwardURI.indexOf("monitoring") != -1) {
response.sendError 404
return false
}
}
}
}
Mais ce travail ne marche pas comme la demande de « surveillance » ne marche pas atteint ce filtre. Je ne veux même pas que l'utilisateur sache qu'une telle URL existe, donc je veux vérifier dans le filtre que si "surveillance" est l'URL, je montre la page d'erreur 404. C'est aussi la raison pour laquelle je ne veux pas protéger cette URL avec la sécurité de printemps car elle affichera la page "accès refusé".
Fondamentalement, je veux que l'URL existe, mais ils devraient être invisibles pour les utilisateurs. Je veux que l'accès soit ouvert uniquement à certaines adresses IP pour ces URL spéciales. Sur une autre note, est-il possible d'écrire un filtre à gravier qui «agit» avant que le filtre de sécurité à ressort ne soit touché? Je veux être en mesure de faire un peu de filtrage avant de transmettre les demandes de sécurité de printemps. L'écriture d'un filtre à gravier comme ci-dessus n'aide pas. Le filtre de sécurité de printemps est touché en premier si j'accède à une ressource protégée et que ce filtre n'est pas appelé.
Merci
Merci Burt! Je vais opter pour la "vraie" solution de filtrage. Il semble maintenant que vous devriez voir: – batmannavneet
http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/guide/18%20IP%20Address%20Restrictions.html – evernat