0

我正在尝试找到一种方法来禁用网站上的网页,但我无法完全删除该页面,因为我希望它可以在网站的一部分而不是另一部分访问。

基本上,对于本网站,用户可以在主页的两个位置之间进行选择,网站的一项功能对于一个位置不是必需的,但对于另一个位置是必需的。

现在,我知道我可以在我的头文件中添加一些逻辑,这将从下拉 GUI 中删除页面。但是如果用户有该页面的 URL,他们仍然可以访问它。有没有办法解决这个问题。

我似乎发现这个标签用于这些情况

<sec: authorize access="rules"> 

但我不知道如何使用它!

4

1 回答 1

1

假设您要根据尝试访问页面的用户来限制对页面的访问。使用 Spring Security,您可以根据用户角色限制对页面的访问。以下将仅允许具有角色ROLE_ADMIN的用户访问管理页面。

<security:http use-expressions="true">
    <security:intercept-url pattern="/login.htm" access="permitAll"/>
    <security:intercept-url pattern="/admin" access="hasRole('ROLE_ADMIN')"/>
    <security:form-login 
        login-page="/login.htm"
        authentication-failure-url="/login.htm?error=true"
        default-target-url="/"/>
    <security:logout
        invalidate-session="true"
        logout-success-url="/login.htm"
        logout-url="/logout.htm"/>
</security:http>

要在 JSP 中进行授权,您可以使用以下<sec:authorize>标记:

<div>
    <sec:authorize access="hasRole('ROLE_ADMIN')">
        You are an ADMIN!!!!
    </sec:authorize>
</div>
于 2013-11-11T11:16:24.987 回答