Czy istnieje sposób ograniczenia dostępu do/monitorowania adresu URL generowanego przez wtyczkę Java-Melody w Grails przy użyciu ról Shiro?Ograniczenie dostępu do adresu monitorowania monitorowania w języku Java
Aktualizacja: trochę więcej szczegółów. Nie ma problemu, więc zabezpieczyć większość zasobów Grailsa z shiro. Ale w przypadku wtyczki do melodii Java wydaje się, że filtr melodii jest wykonywany przed wykonaniem filtra Shiro. To czyni shiro bezużytecznym.
Istnieje kilka rozwiązań, które mówią, że można to naprawić poprzez zmianę w pliku web.xml, ale nie jest to szybkie działanie, a ja (rdmueller) nie udało się jeszcze sprawić, aby działało. Wtyczka web.xml również wydaje się obiecująca, ale nie chcę dodawać kolejnej wtyczki, aby zabezpieczyć jedną wtyczkę.
Niektóre starsze oświadczenia znajdujące się na stanie internetowej, że ten problem powinien być już rozwiązany poprzez wykorzystanie listy w tym pliku loadAfter
: https://github.com/javamelody/grails-melody-plugin/blob/master/GrailsMelodyGrailsPlugin.groovy - ale wydaje się, że to działa tylko dla starszych wersji Grails.
Update2: W celu ułatwienia zaproponować rozwiązanie, mam stworzyć Grails 2.2.4 próbki: https://github.com/rdmueller/SO30739581
prostu sklonować projekt, zrobić grailsw run-app
i nawigować do
http://localhost:8080/SO30739581/dbdoc
, a otrzymasz ekran logowania za pomocą shiro. Przejdź do
http://localhost:8080/SO30739581/monitoring
a dostaniesz ekran melodii bez logowania :-(
PS:: Shiro-protect-any: 0.1.0-plugin wydaje się działać, ale wydaje być nieco zbyt skomplikowanym, a wtyczka "nie jest w pełni przetestowana". Prostsze rozwiązanie byłoby świetne. – rdmueller