2
如果您想根據用戶訪問一個或多個URL來顯示JSP頁面中的內容,可以根據用戶訪問的一個URL輕鬆完成:如何根據用戶訪問URL來顯示JSP內容使用Spring Security
<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>
有一些更優雅的方式來實現這一目標?