用户点击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 }

    真的很简单。

相关文章推荐

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

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

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

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

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

请看下面的代码:package ui; import java.awt.Color; public class AddDataView extends JFrame implements Acti...

[C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情

引言:  当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直...

点击按钮发生颜色快闪

//WPF没有类似于winform的timer组件,需要按照如下方法使用 using System; using System.Collections.Generic; using System.L...

Java中的事件处理—通过点击不同的按钮,让面板的背景色发生变化

Java中的事件处理

在一个Record Center(记录中心)中,在编辑文档的属性时,点击“Submit(提交)”按钮的时候发生了什么

当点击save的时候,发生了什么事情
  • shrenk
  • shrenk
  • 2014-01-09 09:38
  • 1032

点击 Android Studio 的 build 按钮后发生了什么

首先,说明下这个问题的来历。 优秀的(Android)软件工程师是如何练成的 这篇文章提到了这个问题,于是就去思考下,也感谢前人的努力,让我们小菜鸟学习更加容易。你一定会问,点击Build后(我理...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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