二哈RhaPHP系统增加手机号登录
由于项目需求,现在新增加的一个水站管理应用中,需要代理商也可登录后台进行一定的权限管理,比如订单,我名下的水站,我所管理的小区,我的发展人等等代理商分销平台!
在很久之前的一篇对RhaPHP微信公众号管理系统 管理员组修改完善功能的文章中说明了如果进行权限的分配及代码的操作完善,准备做好这个东西以后,准备分享出来这个权限管理的东西,看官方的不知道什么情况,错误是很多的!好了,别的不说,说下今天的重点:增加管理员可使用手机号进行登录。
页面不用管,还是原来的登录界面,只需要修改一点源码,增加一个数据库字段即可了:
1:增加数据库字段,在表【rh_admin】中增加 phone字段用于存储代理商的手机号信息(此字段不可重复)。
2:修改系统文件,文件:application\admin\controller\Login.php 修改代理如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$user_name = Request::post('user_name'); $password = Request::post('password'); $field = isMobileNumber($user_name) ? 'phone' : 'admin_name'; $where[$field] = $user_name; $where['status'] = 1; $result = Db::name('admin') ->where($where) ->find(); $inPWD = md5($password . $result['rand_str']); if (empty($result)) { return ['code' => -1, 'msg' => '用户不存在']; } if ($result['password'] == $inPWD) { Db::name('admin')->where('id',$result['id'])->update(['ip' => Request::ip(), 'last_time' => time()]); session('admin', $result); Cookie::forever('admin', $result); return ['code' => 200, 'msg' => '登录成功!']; } else { return ['code' => -1, 'msg' => '密码错误']; } |
增加了一个输入用户名验证功能,如果是手机号则判断【phone】字段,否则就判断【admin_name】字段
修改更新IP及最后登录时间中的where条件为ID 条件,不用【admin_name】进行判断,这样就可以了!
试下是不是手机号和用户名都可以同时登录上了!