简单实现支持用户名和邮箱登录
2017-04-21 10:28
246 查看
一.LoginForm里的login()调了getUser(),所以修改getUser()即可
二.修改
public function login() { if ($this->validate()) { return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0); } else { return false; } }
二.修改
public function getUser() { if ($this->_user === false) { if (strpos($this->username, "@")) //注册时已限制只能为数字字母,所以不会出现@ $this->_user = User::findByEmail($this->username); //email 登录 else $this->_user = User::findByUsername($this->username); } return $this->_user; }三.仿照findByUsername写一个findByEmail方法
public static function findByEmail($email) { return static::findOne(['email' => $email, 'status' => self::STATUS_ACTIVE]); }
相关文章推荐
- NSUserDefaults 简单的用户名密码持久化存储 自动登录实现
- sql and&or用法 实现jsp邮箱或者用户名登录
- JS实现简单的登录界面(不连接数据库,把用户名密码写死)
- java由servlet实现登录的简单功能,并把用户名用cookie保存起来,读取cookie
- 实现用户名、邮箱、手机号三种都可以登录
- 同时支持手机号、用户名、邮箱登录
- 怎么实现使用手机号、邮箱、用户名登录
- [py][mx]django自定义认证类-实现邮箱作为用户名登录
- flask实现同时使用用户名/邮箱其一进行登录
- django学习——通过邮箱实现用户名的登录
- 手机号、邮箱或者用户名登录的实现方法
- 大众化的登录界面的一种完美简单的实现方法(验证码+自带一键删除+用户名密码为空时抖动提示)
- shopnc 实现手机、邮箱、用户名登录
- Ecshop支持用户名、邮箱或手机号码登录
- 单点登录在ASP.NET上的简单实现
- 单点登录在ASP.NET上的简单实现
- 简单javabean登录的实现
- asp.net基业控制登录简单实现
- 超简单的邮件快速登录脚本制作实现方法[转]
- AJAX学习明灯,简单示例:AJAX+存储过程实现无刷新简单登录验证功能!