我有两个使用ASP .NET创建的Web表单。
一个是登录Web表单,另一个是显示信息。
当用户成功登录登录表单时,会将其重定向到其他Web表单。
如何阻止用户在网址中输入网络表单的名称,即控制对某些网页的访问权限。
我的目标是让用户登录,并且只有他们登录后才可以访问其他表单。
感谢。
答案 0 :(得分:1)
有几种方法可以做到这一点。
我过去做过的方法是创建一个CurrentUser单例类,在登录时填充用户信息并保存在会话中(尽管一个简单的Session [" LoggedIn"] = true也可以完成这项工作 - 该课程将允许您在一个地方存储更多信息,包括用户角色等,使其易于访问。
然后创建一个这样的类(借用伪代码)
public class SecureBase : System.Web.UI.Page
{
protected override OnLoad(Event Args etc...)
{
if (!CurrentUser.IsLoggedIn)
{
Response.Redirect("~/uh-uh-uh--You-didnt-say-the-magic-word.aspx");
}
}
}
然后,您可以使任何您想要安全的页面从此而不是直接从System.Web.UI.Page继承:
public class HomePage : Page
{...}
成为
public class HomePage : SecureBase
{...}
完成后,任何未登录的人都将被重定向,其他任何人都将继续正常进行。