当用户填完登录表单(一般位于http://example.com/?q=user 或者在一个区块中)并点击登录按钮时,登录流程开始。
登录表单的验证程序检查用户名是否被封了,无论是根据访问规则拒绝访问,还是由于用户输入了一个错误的用户名或密码。如果任何一种情况发生了,都会及时的通知用户,告诉他为什么无法登录。
Drupal将首先尝试从本地登录,在users表中查找是否存在一个与用户名和密码哈希值相匹配的记录。本地登录成功,则会调用两个用户钩子(load 和 login),在你的模块中可以实现这些钩子,如图6-4所示。
图6-4 本地用户登录的执行路径