Избыточный шаблон перехватывания URL в этом примере Spring Security? - PullRequest
0 голосов
/ 19 ноября 2011

Являются ли третий и четвертый шаблоны URL-адресов перехвата ниже для ROLE_USER избыточными?Мне кажется, что "/ " также будет захватывать любой URL-адрес запроса, который соответствует "/account/.do".

<security:filter-security-metadata-source>
<security:intercept-url pattern="/login.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<security:intercept-url pattern="/home.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<security:intercept-url pattern="/account/*.do" access="ROLE_USER"/>
<security:intercept-url pattern="/*" access="ROLE_USER"/>

1 Ответ

1 голос
/ 19 ноября 2011

Повторное чтение вопроса, да, третье правило на самом деле выглядит излишним (я сначала ответил, как будто вы спрашиваете, являются ли все остальные правила, кроме последнего, избыточными).

Из документации :

Шаблоны всегда оцениваются в порядке их определения. Таким образом это Важно, чтобы более конкретные модели были определены выше в список, чем менее конкретные шаблоны.

Таким образом, если вошедший в систему пользователь пытается получить доступ к «/account/.do», третье правило сработает, но при всем остальном четвертое правило все равно разрешит доступ, что делает третье правило избыточным в этом случае. Самый простой способ проверить это, вероятно, просто закомментировать или удалить третье правило, а затем проверить, можете ли вы по-прежнему получать доступ к страницам в «/ account» (что вы должны иметь).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...