2013-12-20 51 views
0

我刚刚开始学习AJAX,并陷入这个问题。每个AJAX页面是否需要验证用户登录?

问题: 我想显示登录按钮或注销按钮,取决于用户是否登录到我的网站。

我能想到的一种可能的解决方案是对服务器(Java servlet)进行AJAX调用,以验证用户是否已登录。服务器将检查会话并用JSON响应是或否。然后我会在客户端显示正确的按钮。

但是上面的解决方案迫使我在我的网站上的每一页上都会重复这个过程。实现这一点必须有更好的方法。有人能就此提出建议吗?

+2

看不出为什么你需要为此使用AJAX。你不能只在第一次加载页面时有条件地渲染每个按钮吗? –

+0

调查春季安全。您应该为每个请求发送一个包含用户令牌的cookie,而不是每页一次。 –

+0

@AntP是的,你是对的。 – jiminssy

回答

1
<c:choose> 
    <c:when test="${loggedIn}"><a href="...">Logout</a></c:when> 
    <c:otherwise><a href="...">Login</a></c:otherwise> 
</c:choose> 

将它放入JSP中,从而在页面呈现时生成相应的按钮。不需要AJAX。

-1

解决此问题的常用方法是使用浏览器cookie。阅读会话cookie。 :)

+0

安全性应该在服务器端而不是客户端,所以它应该基于服务器会话而不是客户端Cookie。 – developerwjk

相关问题