# 教师账号强制绑定手机或邮箱 #
未名教师账号登录时检测是否绑定手机/邮箱、是否为初始密码123456,流程如下:
![](./img/Login.jpg)
*D:\wamp\www\ketang.test\weike\protected\controllers\LoginController.php*
actionIndex()
*D:\wamp\www\ketang.test\weike\themes\custom3\views\version2\login\themeType3\indexTeacher_cus.php*
```
checkIsBindEmailPhone();
// 检测用户是否已经绑定了邮箱或手机,默认密码是否是123456 by wangbo 2019-2-28
function checkIsBindEmailPhone() {
var url = "<?php echo $this->createUrl('ktUser/checkUserDefaultPassword');?>";
$.get(url, function(data){
// noBindEmailOrPhone : 检测用户是否已经绑定了邮箱或手机
if (data == "noBindEmailOrPhone") {
}
// UnsafePass : 判断是否为初始密码123456
if (data == "UnsafePass") {
}
});
}
```
## 方法
是否已绑定手机或邮箱
是否为初始密码123456
## 修改新密码流程
判断是否是第一次修改默认密码
↓
获取验证码(找到密码)
http://ketang311.wm3dao.com/index.php?r=User/resetUserPwd
## 绑定手机或邮箱
### 01 绑定邮箱页面
http://ketang311.wm3dao.com/index.php?r=ktUser/bindEmail
![](./img/L/01.png)
### 02 发送邮件验证
http://ketang311.wm3dao.com/index.php?r=ktUser/sendEmailBind
```
POST
email: 3330819360@qq.com
isResend: false
```
![](./img/L/02.png)
### 03 邮件内容
![](./img/L/03.png)
绑定邮箱链接:
http://ketang311.wm3dao.com/index.php?r=ktUser/clickBindEmail&code=185628ee07059c738991121740e84136&email=3330819360%40qq.com&userId=474897
*D:\wamp\www\ketang.test\weike\protected\controllers\KtUserController.php*
```
$userId = RequestUtils::getNormalRequest('userId');
$email = RequestUtils::getNormalRequest('email');
$code = RequestUtils::getNormalRequest('code');
$emailDetail = Email::model()->findByAttributes(['fdUserID'=>$userId,'fdEmail'=>$email]);
if ($code && $code != md5($emailDetail->fdCode) && $email != $emailDetail->fdEmail) {
$this->redirect_msgBox(array('ktUser/bindEmail'),array('msg'=> '参数错误,请重新绑定!'));
Yii::app()->end();
}
...
IdentityService::factory()->isBindEmailByUserID($userId); //判断用户是否绑定邮箱
...
```
### 表 wksvc.tbEmail
```
CREATE TABLE `tbEmail` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fdUserID` int(11) DEFAULT NULL COMMENT '对应tbUser.id',
`fdEmail` varchar(64) DEFAULT NULL COMMENT '电å邮件地å€',
`fdCode` varchar(8) DEFAULT NULL COMMENT '验è¯ç ,邮件验è¯éœ€è¦md5åŠ å¯†ç”Ÿæˆä¸€ä¸ªé“¾æŽ¥',
`fdSent` datetime DEFAULT NULL COMMENT 'fdCode生æˆçš„时间',
`fdVerified` datetime DEFAULT NULL COMMENT '验è¯æ—¶é—´ï¼Œ0表示未验è¯',
`fdDefault` tinyint(4) NOT NULL COMMENT '缺çœçš„电å邮箱地å€\n 0-普通\n 1-缺çœ',
PRIMARY KEY (`id`),
KEY `FK_Reference_52` (`fdUserID`),
KEY `email` (`fdEmail`)
) ENGINE=MyISAM AUTO_INCREMENT=117831 DEFAULT CHARSET=utf8 COMMENT='电å邮件地å€è¡¨ï¼Œä¸€ä¸ªäººå¯ä»¥æ‹¥æœ‰å¤šä¸ªç”µåé‚®';
```
![](./img/L/04.png)
## 绑定手机
http://ketang311.wm3dao.com/index.php?r=ktUser/bindPhone
### 1 绑定手机
![](./img/L/05.png)
### 2 手机验证
http://ketang311.wm3dao.com/index.php?r=user/addPhoneBind
```
POST
phone: 15920914758
```
![](./img/L/06.png)
*D:\wamp\www\ketang.test\weike\protected\controllers\UserController.php*
```
V2IdentityService::factory()->getBoundPhone($userId); //获取用户绑定的手机号
...
$args = array(
'uid' => $uid,
'num' => $num,
'verified' => $verified,
'outsideHost' => $outsideHost,
'code' => $code
);
return Phone::model()->find($this->findPhone($args));
...
```
### 3 表 wksvc.tbPhone
```
CREATE TABLE `tbPhone` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fdUserID` int(11) NOT NULL,
`fdPhone` varchar(32) NOT NULL,
`fdCode` varchar(8) DEFAULT NULL COMMENT '验è¯ç ,通过çŸä¿¡ä¸‹å‘',
`fdSent` datetime DEFAULT NULL COMMENT 'fdCode生æˆå¹¶å‘放的时间',
`fdVerified` datetime DEFAULT NULL COMMENT 'çŸä¿¡éªŒè¯æ—¶é—´ï¼Œ0表示未验è¯',
`fdDefault` tinyint(4) NOT NULL COMMENT '',
PRIMARY KEY (`id`),
KEY `FK_Reference_53` (`fdUserID`),
KEY `phone` (`fdPhone`)
) ENGINE=MyISAM AUTO_INCREMENT=137535 DEFAULT CHARSET=utf8 COMMENT='';
```
- 说明
- 开发任务
- 星课-真光
- 课表
- Excel Down
- 调课
- 课表修改
- 课表代码分析
- 课堂
- 课堂:应用商店通信管理协议
- 教师账号强制绑定手机或邮箱
- 强制绑定手机和修改密码的规则
- 学堂
- 课程学习:讨论功能
- 后台:课程讨论管理
- 课程直播接口
- 学习统计功能(旧版)
- 学习统计功能(新版)
- 同步课程统计功能
- 同步课程编辑-新增视频
- 第三方接口
- 学科网
- 安徽第三方
- 大赛
- 管控系统
- 日志管理
- 设备日志
- 平板接口
- 渝教
- 教学总结
- 空白目录
- Yii 1.1
- 学堂架构
- Yii 1.1一些方法的解读
- MVCS结构
- 基础使用语法
- 创建1个新模块
- 关联模型
- CDbCriteria
- 学生-课堂记录
- 学生端页面展示
- 教师端页面展示
- 编辑课程文档
- SQL
- 课堂项目运行入口
- 上传资源示意图
- 行为
- PHPStorm
- 源码阅读
- 会诊答卷页面
- 考点练习
- 资源首页
- 同步课程
- 同步课程:章节信息
- 升学复习
- 统计图-范例
- 模块
- 非法词
- 服务层
- MongoDB类
- 学堂作答记录从Mongo新集合获取数据
- MongoYii
- 错题集
- 小技巧
- 完善资料
- 邮件发送
- K12
- JSpang视频课程
- MongoDB
- 创业
- 项目
- 包包