2016-05-02 4 views
0

Я включил приложение Spring MVC Shiro по соображениям безопасности.Интеграция Spring-Shiro - HTML-страница

Все мои URL-адреса работают нормально, но у меня есть несколько html-страниц, к которым можно напрямую обращаться без попадания на мои контроллеры.

Как я могу защитить эти страницы, то есть, если пользователь не вошел в систему и пытается открыть открытую страницу html, он должен быть перенаправлен на страницу входа.

<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> 

URL Применение

http://ip:port - отлично работает, перенаправляет на страницу входа

http://ip:port/html/ - открывает HTML страницы

Как я могу защитить это.

ответ

0

Я бы сделал любую страницу, перенаправляющую после страницы входа на страницу по умолчанию.

В вашем контроллере защитите эту страницу с помощью аннотации @Secured("USER_ROLE") на уровне метода до роли пользователя обычного пользователя. Фактически, я бы сделал это с каждой страницы.

Пользователь должен быть перенаправлен обратно на страницу входа в систему, перейдите на страницу, к которой они пытались добраться.

+0

В качестве примера я использовал USER_ROLE. Это может быть то, что вы используете как роли. – bmarkham

+0

Вы не поняли мой вопрос –

+0

Хорошо. Пожалуйста, скажите мне, где я неправильно понял – bmarkham