Visual Studio 2008用C#编写ASP.net 网站利用Contents上下文实现Form用户登录认证,可以用Login控件,也可以自己拽两个TextBox和一个Button来实现,代码最后实现下面的效果:
1、首页显示登录用户的信息
2、用户不能绕过Login.aspx直接访问其它页面。
下面是具体步骤:
Step1,修改Web.Config文件的认证部分为下面代码:
<authentication mode="Forms">
<forms name ="oursnet" loginUrl ="login.aspx" timeout ="10"/>
</authentication>
<authorization>
<deny users ="?"/>
</authorization>
Step2:
点击登录按钮响应后,进行身份认证,不管怎么认证(链接数据库什么的),认证成功后,执行下面代码:
//Login1是Login控件,也可以用Textbox什么的。
Session.Contents ["UserName"] = Login1.UserName ;
FormsAuthentication.RedirectFromLoginPage(Login1 .UserName ,false );
Response.Redirect("Default.aspx");
Step3:
protected void Page_Load(object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated)
{
//提前拽一个Label控件
Label1.Text = "welcome " + User.Identity.Name;
}
}