如何在javascript中强制重定向到登录页面

时间:2014-04-02 21:59:40

标签: javascript login

我正在构建一个网站,我希望用户必须登录才能查看certin页面(在这种情况下,它被称为gallery.php)我实现了一些我在这个网站上找到的代码,重定向了用户当他们点击菜单中的图库链接时返回登录页面。但是,当我登录并再次重定向到图库时,网站不会确认我已登录并再次将我重定向回登录页面。我知道之前已经问过这样的问题,但是我们将不胜感激。我的代码如下:

//from login.html 
<!--//
/*This Script allows people to enter by using a form that asks for a
UserID and Password*/
function pasuser(form) {
if (form.id.value=="Admin") { 
if (form.pass.value=="rycbar123") { 
var sessionTimeout = 1; //hours
var loginDuration = new Date();
loginDuration.setTime(loginDuration.getTime()+(sessionTimeout*60*60*1000));
document.cookie = "SistaDansenSession=Valid; "+loginDuration.toGMTString()+"; path=gallery.php";             
location="gallery.php" 
} else {
alert("Invalid Password")
}
} else {  alert("Invalid UserID")
}
}

//from gallery.php
<!--force login code-->
<script type="text/javascript">
if (document.cookie.indexOf("SistaDansenSession=Valid") == -1) {
alert("You must be logged in to view this page")
location.href = "login.html";
}
else {
alert("login succesful")
}  </script>

非常感谢

1 个答案:

答案 0 :(得分:0)

尝试更改:

if (document.cookie.indexOf("SistaDansenSession=Valid") == -1)

if (document.cookie.indexOf("SistaDansenSession") < 0)

设置Cookie时,您正在设置Cookie属性&#39; SistaDansenSession&#39;等于&#39;有效&#39;。在原始代码中,您正在尝试检索Cookie属性&#39; SistaDansenSession = Valid&#39;,而您要检索的属性只是SistaDansenSession&#39;。当设置cookie时,该属性存在,因此它将具有> = 0的索引。在这种情况下,不会发生重定向到登录 - 我认为这是您期望的行为。