我编写了一个登录页面。如果登录凭据正确,我必须将页面重定向到另一个页面。
如果我复制主页的 URL/路径并粘贴到地址栏中,它不应该加载。它必须重定向到登录页面。
最好使用服务器端语言来验证用户请求,即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+。
如果您尝试在未登录的情况下访问主页。服务器应该返回重定向响应。它不是从客户端完成的。
最好用 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。
它需要管理会话。一般来说,所有这些类型的会话管理都是由 Java、.NET 等服务器端技术完成的。
您也可以使用 JavaScript 来做到这一点,但它的安全性和可靠性非常低。
如果登录成功,则创建一个浏览器 cookie,它只存储一个布尔值,表示他是有效用户并重定向到主页。在主页中检查登录 cookie 值。如果其值无效,则通过显示异常消息再次重定向用户登录页面。