C# 强制客户端从ASP中的特定入口点进入站点

C# 强制客户端从ASP中的特定入口点进入站点,c#,asp.net,C#,Asp.net,我真的不确定如何形成这个问题的搜索词,但我没有真正找到我要找的东西,所以这里是: 我如何强制客户只从某些入口点进入我网站的某些部分?例如,我概述了我工作的公司目前开展的活动,但我只希望用户能够通过按“添加新活动”按钮进入负责添加新活动的页面 因此,您不能仅仅通过键入URL(例如)来进入该页面。在ASP中如何实现这一点?就像我们在现实世界中所做的那样,身份验证和授权。每当访问者浏览您网站上的页面时。他们正在发送一个HTTP请求,在该请求的同时,您将收到您的web应用程序在以前的任何访问中在其计算机

我真的不确定如何形成这个问题的搜索词,但我没有真正找到我要找的东西,所以这里是:

我如何强制客户只从某些入口点进入我网站的某些部分?例如,我概述了我工作的公司目前开展的活动,但我只希望用户能够通过按“添加新活动”按钮进入负责添加新活动的页面


因此,您不能仅仅通过键入URL(例如)来进入该页面。在ASP中如何实现这一点?

就像我们在现实世界中所做的那样,身份验证和授权。每当访问者浏览您网站上的页面时。他们正在发送一个HTTP请求,在该请求的同时,您将收到您的web应用程序在以前的任何访问中在其计算机上设置的任何cookie,这在每个请求中都会发生


可以使用cookie识别经过身份验证的用户,通常情况下会发生。。。登录后,服务器将设置一个包含其身份的cookie。因此,当授权用户请求查看“foo.com/topsecret”并且服务器收到该请求时,服务器解密存储在cookie上的数据并检查其是否被篡改。。。如果一切都好。。。已授予访问权限。。。如果不是。。。然后它被简单地拒绝。

在您的情况下,您可以使用会话变量,在登录时,您可以检查所有权限

在您的页面中,您可以添加签入页面加载相同:

User myUser = (User)Session["User"];
string page = Path.GetFileName( Request.Url.AbsolutePath );
if(!myUser.pageSee.Contains(page)){
  Response.Redirect("home.aspx");
}
您可以为您可以查看的页面创建一个用户类,该类包含一个字符串列表,

您还可以为单个div添加权限。

哦,我知道这个过程。我要求的是如何限制用户仅从网站上的特定点访问网站(在本例中,通过按网站上的特定按钮)。但是我想如果我只是在页面加载时检查用户,那就没有必要了。哦,你是说从客户端。。。要强制执行客户端活动,您真的没有什么可做的。。。我的意思是,如果我知道你的按钮将发送给我的方向。。。我可以很容易地模拟网络流量,让服务器相信我已经执行了x,y,zYeah。在阅读了您的回复几分钟后,我意识到:PI给了您一个+1来提供一些代码,但Aydin Adn的答案在技术上是最适用的,这就是为什么他得到了“正确答案”。)@Vipar不必担心……:)谢谢