防止访客离开某些页面
-
22-07-2019 - |
题
我有一样ASP.Net 2.0网站与SQL服务器数据库和C#2005年为编程语言。该网站是几乎完全和全部的链接工作。但我想要防止正常的用户打开几个网页。当任何用户点击那些具体的链接,另一个页面打开它包含一个ASP登录控制。的用户提供有效的用户名和密码显示的链接指向的限制性网页。但作为一个新手,我不知道如何利用全部力量ASP登录控制。因为,如果一个用户获取知道的确切网址的限制页,那么他/她可以绕过登录控制和直接访问这些网页通过输入该网址进入的地址栏。我想要阻止这一点。如果用户类型的网址,直接在的地址吧,我想要那页面本身应该检查,用户是否已经被验证过的登录控制和显示网页的点或用户登录网页。
我如何实施这个功能??
谢谢你。
拉利特*库马尔*Barik
解决方案
你应该验证用户的登录在国家在每 Page_Load()
事件的网页上,必须控制权限,或者干脆把验证码在CS文件,该文件将包括在所有其他文件。
根据身份验证的建筑,你选择(简单地使用本届会议可变的,或者创建一届会议id与cookie),你必须适应你的代码。
最简单的办法是管理登录通过该届会议的对象。当用户登录在正确的权利凭证,可以设置 Session["logged_in"] = true
.并在每一个 Page_Load()
事件的页你想要保护你会需要做以下的检查。
加入这个代码在开始你Page_Load()function:
if (Session["logged_in"] != null && (bool)Session["logged_in"] == true){
Response.Write("I'm logged in!");
}else{
Response.Write("I'm not logged in.");
}
请记住,这是好的,简单的内联网应用程序,但是如果你想获得成更多的安全登录架构,读了更多的关于这个问题,因为reloying仅仅会变量,不是安全的,因为会议可以highjacked.
其他提示
你会需要一种方法来管理登录的会议的每一个用户。以下是一些教程,可以帮助你:
http://www.codeproject.com/KB/session/NoCookieSessionLogin.aspx
http://www.dotnetspider.com/resources/5597-Handling-Session-for-Login-Logout.aspx
我会做一个作用表的用户。每个人都登录在获取"正常"的作用。特别使用人可以指定由他们凭证得到指派的角色访问的页面或部分的你的网站。某些用户(如自己)将获得一个管理员的作用,将自动允许他们接触到的一切。
火了一个功能称为CheckIsInRoles('管理','正常的','WhateverRoleYouChoose')返回布尔。如果真的,载的页面;如果没有,没有。
甚至更好别显示的链接,如果没有在正确的角色。
这有利益的每个人都记录在一次,然后访问所有网页,他们需要,而无需登录在每次。