1

注销后,我希望用户永远不要访问该页面,即使他们知道正确的 url 并输入它。如果他们输入他们在登录时看到的页面的 url,它应该被重定向到主页。

我使用了header.jsp文件中的代码

<core:if test="${userName == null}">
    <script>
         parent.location.href='logout.html'
    </script>
</core:if>

但是由于标题包含在关于我们页面和注册页面中,我不得不为这两个文件创建一个不同的标题,而不包括上面的代码。有更好的解决方案吗?

解释

  1. 登录并导航到 URL 中的页面。复制页面的 URL
  2. 登出
  3. 在同一浏览器窗口中,粘贴 URL

网站运行良好,无需寻找任何登录详细信息。

4

1 回答 1

3

我不太确定你在问什么,但我们开始吧:
我假设你正在通过 spring security 保护一些私有 url,例如:

<security:http use-expressions="true">
    <!-- ...more configuration stuff -->
    <security:intercept-url pattern="/private/*" access="isFullyAuthenticated()" />
    <!-- ...more configuration stuff -->
    <security:logout invalidate-session="true" logout-url="/logout" logout-success-url="/yourUrlAfterLogout.html"/>
</security:http>

然后,当用户注销时,他就不能再访问私人网址了。
更新:Spring Security 部分结束)

如果您想阻止用户在导航器中按下后退按钮或复制私有 url 时访问这些受保护的页面,您可以配置WebContentInterceptor,如下所示:

<mvc:interceptors>
    <bean id="webContentInterceptor"
        class="org.springframework.web.servlet.mvc.WebContentInterceptor">
        <property name="cacheSeconds" value="-1" />
        <property name="useExpiresHeader" value="true" />
        <property name="useCacheControlHeader" value="true" />
        <property name="useCacheControlNoStore" value="true" />
    </bean>
</mvc:interceptors>
于 2013-03-14T13:56:19.753 回答