Если вы хотите отображать контент на странице JSP на основе доступа пользователя к одному или нескольким URL-адресам, это легко сделать, основываясь на доступе пользователя к одному URL-адресу:
<sec:authorize url="/someurl">
<!-- show content, if someurl is accessible -->
</sec:authorize>
Однако иногда может оказаться полезным показать контент, основанный на некотором логическом выражении на доступном URL пользователя, что-то вроде (неверно):
<sec:authorize url="!'/someurl'">
<!-- show content, if someurl is inaccessible -->
</sec:authorize>
или
<sec:authorize url="'/someurl1' and '/someurl2'">
<!-- show content, if someurl1 and someurl2 are accessible -->
</sec:authorize>
До сих пор я придумал грязное решение, используя конструкцию Spring EL со статическим методом в пользовательском классе:
<sec:authorize access="!T(my.package.MyClass).isAccessibleToUser('/someurl')">
<!-- show content, if someurl is inaccessible -->
</sec:authorize>
Есть ли какой-нибудь более изящный способ добиться этого?