我有一样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.

其他提示

你会想看看的 位置 方便的新建数的网络配置。

在该部分,可以定义下的页面的访问权,所以它不会问题,如果用户就知道网址的有担保的网页,ASP.NET 不会让他们。

所以你会添加这样的:

<location path="SecuredPage.aspx">
  <system.web>
     <authorization>
        <deny users="?"/>
     </authorization>
  </system.web>
</location>

"拒绝用户="?"" 位说"拒绝所有匿名使用者"。

你也可以把它设置最多只允许特定的角色,如果您使用的那些。

更多信息,授权部可以在这里找到:

授权元

这是食物ASP.Net 成员服务。看看 这篇文章 并且还 伟大的系列 在4GuysFromRolla.

会员国可以存储用户/用户密码信息的其用于,除其他外,通过登录控制。与授权的配置,你将能够直接狭窄的访问特定网页下,以特定用户或用户的角色。

你会需要一种方法来管理登录的会议的每一个用户。以下是一些教程,可以帮助你:

http://www.codeproject.com/KB/session/NoCookieSessionLogin.aspx

http://www.dotnetspider.com/resources/5597-Handling-Session-for-Login-Logout.aspx

我会做一个作用表的用户。每个人都登录在获取"正常"的作用。特别使用人可以指定由他们凭证得到指派的角色访问的页面或部分的你的网站。某些用户(如自己)将获得一个管理员的作用,将自动允许他们接触到的一切。

火了一个功能称为CheckIsInRoles('管理','正常的','WhateverRoleYouChoose')返回布尔。如果真的,载的页面;如果没有,没有。

甚至更好别显示的链接,如果没有在正确的角色。

这有利益的每个人都记录在一次,然后访问所有网页,他们需要,而无需登录在每次。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top