65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 Session 创建安全的 ASP.NET 登录的简单方法

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.06/5 (12投票s)

2007 年 11 月 28 日

viewsIcon

110021

downloadIcon

4145

这是一种简单且安全的方法,适用于初学者 ASP.NET 开发人员,可以使用 Session 创建安全的登录 WebForms

引言

作为一名 ASP.NET 开发人员,我需要创建一个安全的登录 WebForm,但我也需要它易于实现,不那么复杂,并且能够完成任务

会话

Session 是一件非常重要的事情,被用于我们甚至无法想象的许多方面。您可以使用 Session 在 WebForms 之间传递变量,而不是在传递安全值时使用查询字符串,它还可以用于创建安全且易于使用的登录系统。

定义我们的 Session

在文件 "Global.asax" 中,我们将在函数 "Session_Start()" 中定义我们的 Session

protected void Session_Start(Object sender, EventArgs e)
{
     //The first Session "Logged" which is an indicator to the
     //status of the user
     Session["Logged"]="No";
     //The second Session "User" stores the name of the current user
     Session["User"]="";

     //The third Session "URL" stores the URL of the
     //requested WebForm before Logging In
     Session["URL"]="Default.aspx";
}

在需要用户先登录后才能查看的受保护文件或文件的 "Page_Load" 中,我们只需检查用户是否已登录即可。

private void Page_Load(object sender, System.EventArgs e)
{
    if(Session["Logged"].Equals("No"))
    {
         ....
    }
    else
    {
         ....
    }
}

在 "Login.aspx" 文件中,我使用常规的 if 条件检查了用户名和密码,未使用数据库。但是,这段代码可以轻松修改,以从数据库中的表中检查用户名和密码

if(UserNametxt.Text.Trim()=="Abdallah" && Passwordtxt.Text.Trim()=="Fayez")
{
    ....
}

else
{
    ....
}

代码可供下载,包含示例 "Login.aspx" 和 "Default.aspx" WebForms,以便您更轻松地以最适合您的方式修改代码。

© . All rights reserved.