2016-05-02 3 views
0

Ich habe meine Spring MVC Anwendung Shiro aus Sicherheitsgründen integriert.Spring-Shiro Integration - HTML Seite

Meine alle URLs funktionieren gut, aber ich habe einige HTML-Seiten, die direkt zugegriffen werden können, ohne auf meinen Controllern getroffen zu werden.

Wie kann ich diese Seiten schützen, was bedeutet, wenn Benutzer nicht in der Anwendung angemeldet ist, und versucht, öffnen HTML-Seite, sollte er zur Anmeldeseite umgeleitet werden.

<filter> 
     <filter-name>shiroFilter</filter-name> 
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy 
     </filter-class> 
     <init-param> 
      <param-name>targetFilterLifecycle</param-name> 
      <param-value>true</param-value> 
     </init-param> 
    </filter> 

    <filter-mapping> 
     <filter-name>shiroFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

Anwendung URL

http://ip:port - funktioniert gut, Umleitungen Seite

http://ip:port/html/ anmelden - öffnet Seiten html

Wie kann ich diese schützen.

Antwort

0

Ich würde jede Seite, die Redirect nach der Anmeldeseite die Standardseite machen.

Schützen Sie diese Seite in Ihrer Steuerung mit der Annotation @Secured("USER_ROLE") auf Methodenebene in eine Benutzerrolle eines normalen Benutzers. Tatsächlich würde ich das mit jeder Seite machen.

Der Benutzer sollte zurück auf die Anmeldeseite umgeleitet werden, die zu der Seite, die sie versuchten, zu erreichen.

+0

Ich habe 'USER_ROLE' als Beispiel verwendet. Es kann sein, was auch immer Sie als Rollen verwenden – bmarkham

+0

Sie haben meine Frage nicht verstanden –

+0

Okay. Bitte sagen Sie mir, wo ich missverstanden habe – bmarkham