去过几个公司,看他们的登录机制都是只要登录上来,就在Session里面写上一个值,如果要是客户请求受保护页面,那么就检查Session里面的值。。。这样的确是很方便,但是我觉得.net下的登录机制,会更加好。
实现如下:
在数据库中进行了验证成功以后,代码写法如下:
 System.Web.Security.FormsAuthentication.SetAuthCookie(this.TextBox1.Text,false);
//指定的用户名写入到Cookie中(false临时Cookie,true永久Cookie)
Response.Redirect("");//跳转到你想去的地址
 System.Web.Security.FormsAuthentication.RedirectFromLoginPage(this.TextBox1.Text,false);//转到用户原访问的页,方法具体解释你可以查看一下msdn
//如果为true,可用System..Web.Security.FormsAuthentication.SignOut();删除,以后又要求登录
}
else//如果用户到数据库中验证不成功
{
 Response.Write("用户不合法");
}

//如果用户少的话,可以不用数据库,直接允许/拒绝用户,当然不保险就是了
<authentication mode="Forms"
 <forms name="authCre" loginUrl="login.aspx" protection="ALL">
  <credentials passwordFormat="Clear">
   <user name="aaa" password="aaa"/>
   <user name="bbb" password="bbb"/>
  </credentials>
 </forms>
</authentication>
 登录代码
private void Button1_Click(object sender,System.EventArgs e)
{
 if(System.Web.Security.FormsAuthentication.Authenticate(this.TextBox1.Text,This.TextBox2.Text)
 {
//   System.Web.Security.FormsAuthentication.SetAuthCookie(this.TextBox1.Text,true);//此方法需重定向
//   Response.Redirect("WebForm1.aspx");
   System.Web.Security.FormsAuthentication.RedirectFromLoginPage(this.TextBox1.Text,false);//此方法不需要重定向,直接转到原访问页
 }
 else
 {
  Response.Write("用户不合法");
 }
}
//授权时,通配符*表示任何人,?表示匿名


还有,需要配置受保护页面,当用户没有登录(系统检查在request带到服务器端的cookie里面没有关于身份认证票的话),那么系统就会自动跳转到你在web.config中设置的login_url。

当然你还可以在web.config中设置你的哪些是受保护页面。