控制对Web窗体的访问

时间:2014-02-24 10:36:43

标签: c# asp.net web

我有两个使用ASP .NET创建的Web表单。

一个是登录Web表单,另一个是显示信息。

当用户成功登录登录表单时,会将其重定向到其他Web表单。

如何阻止用户在网址中输入网络表单的名称,即控制对某些网页的访问权限。

我的目标是让用户登录,并且只有他们登录后才可以访问其他表单。

感谢。

1 个答案:

答案 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
{...}

完成后,任何未登录的人都将被重定向,其他任何人都将继续正常进行。