0

我编写了一个登录页面。如果登录凭据正确,我必须将页面重定向到另一个页面。

如果我复制主页的 URL/路径并粘贴到地址栏中,它不应该加载。它必须重定向到登录页面。

4

4 回答 4

2

最好使用服务器端语言来验证用户请求,即Asp.net, PHP, JSP等。如果你不能使用服务器端脚本而不是使用HTML5 sessionStorage

sessionStorage.setItem("mykey", "Some Value") ;

现在获取您的密钥值home page进行身份验证,如果null or undefined然后重定向到登录页面。

var value = sessionStorage.mykey;
if(value =='undefined' || value == null || value == undefined)
{
   window.location.href="/login";
}

注意:以下浏览器支持 DOM 存储(sessionStorage 和 localStorage)- FF3.5+、Chrome4+、Safari4+、Opera10.5+ 和 IE8+。

于 2012-11-15T06:29:20.127 回答
1

如果您尝试在未登录的情况下访问主页。服务器应该返回重定向响应。它不是从客户端完成的。

于 2012-11-15T06:07:37.633 回答
1

最好用 java 代码而不是 javascript 来完成这种任务。无论如何解决方案:

使用 scriplet 在 jsp 页面上获取用户 ID。

<script>
var user = '<%= request.getUserPrincipal()%>';
            if (user == 'null')
                window.location.href="/login";
</script>

如果值为 null 则用户未登录。在这种情况下使用 window.location.href (javascript) 重定向用户。

将登录页面 URL 替换为您的 URL。

于 2012-11-15T06:07:54.297 回答
0

它需要管理会话。一般来说,所有这些类型的会话管理都是由 Java、.NET 等服务器端技术完成的。

您也可以使用 JavaScript 来做到这一点,但它的安全性和可靠性非常低。

如果登录成功,则创建一个浏览器 cookie,它只存储一个布尔值,表示他是有效用户并重定向到主页。在主页中检查登录 cookie 值。如果其值无效,则通过显示异常消息再次重定向用户登录页面。

于 2012-11-15T06:17:31.787 回答