2013-07-16 1 views
0

У меня есть следующее ограничение безопасности в моем файле web.xml, чтобы сделать help.jspx страница доступна только некоторым пользователям.Какой url-patern следует использовать в ADF в web.xml для защиты страницы? URL-адрес показывает предыдущую страницу.

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>protected</web-resource-name> 
    <url-pattern>/faces/help</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
    <role-name>admin_role</role-name> 
    </auth-constraint> 
</security-constraint> 

Как вы можете видеть, лица/помощь является модель, которая защищена. Но позвольте мне объяснить, что происходит в ADF.

  1. Если я бегу home.jspx я получить этот URL: http://mydomain.com/something/faces/home
  2. Тогда, если я перейти на страницу about.jspx, URL-адрес будет по-прежнему показывают тот же http://mydomain.com/something/faces/home
  3. Теперь, если я перейти к help.jspx, URL-адрес будет отображаться предыдущее название страница «о»http://mydomain.com/something/faces/about, так что я буду иметь возможность просматривать help.jspx, даже если я еще не вошел в систему.
  4. Это не так, теперь, если я перейти к home.jspx еще раз, URL покажет предыдущую страницу «помощь»http://mydomain.com/something/faces/help, поэтому будет предложено войти, прежде чем я могу получить доступ к "home" страница.

ответ

1

Я нашел способ обновить URL, чтобы новый URL получает новое название страницы на нем. Перейдите к своему целевому потоку и добавьте

<redirect/> 

В тегах вида, в которых вы хотите, чтобы их URL обновлялся.

<view id="help_id"> 
    <page>/help.jspx</page> 
    <redirect/> 
</view> 

Это то, что помощь Jdev говорит о перенаправлять тег:

Перенаправление: Выберите верно, если контроллер ADF должен выдать HTTP перенаправления запроса на вид деятельности. Перенаправленный запрос создает новый URL-адрес браузера для активности вида. Исходный URL-адрес представления больше не используется.