用户点击Log In按钮后发生了什么?

转载 2006年06月11日 18:13:00
Asp.net2.0提供了一系列登录相关组件,其中的Login控件使用起来可谓是简单之至,只需要在Login控件的Authenticate事件处理方法中验证用户输入的帐号、密码的正确性,然后把其中AuthenticateEventArgs类型的参数的Authenticated属性改成true就算用户登录成功了:

1 protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
2 {
3     if (UserIsValid(Login1.UserName, Login1.Password))
4     {
5         e.Authenticated = true;
6     }
7 }

    嗯,用户点击“Log In”按钮后发生了什么?凭什么Asp.net运行环境就相信用户已经登录成功,在以后的请求中不会中途调转到“登录”界面?我们就来看看吧。
    用Lutz Roeder's .NET Reflector打开System.Web.dll程序集,在System.Web.UI.WebControls名称空间里Login类的AttemptLogin方法中,你看到了什么?

 1 private void AttemptLogin()
 2 {
 3 
 4             LoginCancelEventArgs args1 = new LoginCancelEventArgs();
 5             this.OnLoggingIn(args1);
 6             if (!args1.Cancel)
 7             {
 8                   AuthenticateEventArgs args2 = new AuthenticateEventArgs();
 9                   this.OnAuthenticate(args2);//这里将执行我们的Login1_Authenticate方法
10                   if (args2.Authenticated)
11                   {
12                         //嘿,只是设置了一下AuthCookie而已
13                         FormsAuthentication.SetAuthCookie(this.UserNameInternal, this.RememberMeSet);
14                         this.OnLoggedIn(EventArgs.Empty);
15                         this.Page.Response.Redirect(this.GetRedirectUrl(), false);
16                   }
17 
18             }
19       }
20 }

    真的很简单。

相关文章推荐

解决:在点击用户退出登录时,再按浏览器的后退按钮,仍然能够看到之前的页面

之前搜了好多解决方案,基本都是要么在jsp中清除缓存,要么在Action中清除缓存,都没尝试成功,最后找到了一种方便的方法—— 在框架frameset制作的管理系统中,在index.jsp中加入下面...

关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理

Web页面中经常碰到这类问题,就是客户端多次点击一个按钮或者链接,导致程序出现不可预知的麻烦. 客户就是上帝,他们也不是有意要给你的系统造成破坏,这么做的原因很大一部分是因为网络慢,点击一个操作之后...

注册或者点击按钮时,防止用户重复提交数据

asp.net实现点击按钮后设按钮不可用并提交 客户端加载的时候,重新将这个操作再启动 function controlButton(flag) { ...

【asp.net中如何防止用户重复点击提交按钮】

 asp.net 中防止因为网速慢等影响交互的问题导致用户可能点击多次提交按钮,从而导致数据库中出现多条重复的记录,经过亲自验证在网上找的方法,找到两个切实可行的方法: 第一种方法1. ...

用户信息:奇偶数隔行变色,选中行变色,鼠标变小手样式;姓名查询条件,过滤敏感字符;下拉列表排序;非空验证添加信息;点击按钮删除

需求: 使用AngularJS,html,css,js等技术实现下图功能: 1.用户列表页     2.用户信息添加页   3.删除询问框     评分标准: ...

cad关闭时获取用户点击了是还是否保存文件按钮。

cad关闭时获取用户点击了是还是否保存文件按钮。最近做的一个项目用户想在关闭cad文件时弹一个判断对话框,如果保存文件弹对话框,不保存时不弹。鉴于这个需求一开始的想法是获得系统提示保存对话框句柄来获得...
  • qqider
  • qqider
  • 2017年03月24日 13:35
  • 269

【北大天网搜索引擎TSE学习笔记】第3节——从用户点击“搜索”按钮开始

在第一节中已经将查询服务子系统搭建起来,可以在天网搜索引擎的首页中输入搜索字符串、点击搜索按钮并得到搜索的结果页面。那后台到底是怎么处理的呢?怎么从网页获取用户输入然后调用搜索程序进行搜索呢?大家在这...

Java中实现用户点击关闭窗口按钮后提示用户,选择“是”后退到父窗口,选择“否”留在原窗口

请看下面的代码:package ui; import java.awt.Color; public class AddDataView extends JFrame implements Acti...
  • Mr_Pang
  • Mr_Pang
  • 2015年08月06日 15:14
  • 540
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用户点击Log In按钮后发生了什么?
举报原因:
原因补充:

(最多只允许输入30个字)