提交的数据$_GET=['r'=>'site/login',];$_POST=['_csrf'=>'WjgxM0tfa3YxQn1rcg4vHioLVlt.EjhOAnFVR3MuXgQ7WkNmBwofIg==','LoginForm'=>['username'=>'admin','password'=>'admin','rememberMe'=>'1',],'login-button'=>'',];yii2处理管理员登陆部分的代码:#/var/www/example.com/public_html/yii/backend/controllers/SiteController.phppublicfunctionactionLogin(){if(!\Yii::$app->user->isGuest){return$this->goHome();}$model=newLoginForm();if($model->load(Yii::$app->request->post())&&$model->login()){return$this->goBack();}else{return$this->render('login',['model'=>$model,]);}}但是我并没有user表,这里是backend,管理员登陆部分,对应的表是admin,结构。mysql>descadmin;+-------+------------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-------+------------------+------+-----+---------+-------+|id|int(10)unsigned|NO||NULL|||name|char(30)|NO|||||pwd|char(32)|NO|||||email|char(30)|NO||||+-------+------------------+------+-----+---------+-------+4rowsinset(0.03sec)mysql>select*fromadmin;+----+---------+----------------------------------+-------+|id|name|pwd|email|+----+---------+----------------------------------+-------+|1|admin|b9840270f7f4ed699ccc93cc09914d21||+----+---------+----------------------------------+-------+1rowinset(0.00sec)yii2他默认的都是user表,可我并没有user表。我现在提交了用户名和密码,该如何修改actionLogin里面的代码才最合适。
2 回答
www说
TA贡献1775条经验 获得超8个赞
试了一下2.0,把models/User.php修改成下边这样.namespaceapp\models;//继承关系修改为如下classUserextends\yii\db\ActiveRecordimplements\yii\web\IdentityInterface{public$id;//username字段修改为namepublic$name;//password字段修改为pwdpublic$pwd;public$authKey;public$accessToken;publicstaticfunctiontableName(){//数据库表名修改user为adminreturn'{{admin}}';}publicstaticfunctionfindIdentity($id){returnstatic::findOne($id);}publicstaticfunctionfindIdentityByAccessToken($token){returnstatic::findOne(['access_token'=>$token]);}publicstaticfunctionfindByUsername($username){//username修改为namereturnstatic::findOne(['name'=>$username]);}publicfunctiongetId(){return$this->id;}publicfunctiongetAuthKey(){return$this->authKey;}publicfunctionvalidateAuthKey($authKey){return$this->authKey===$authKey;}publicfunctionvalidatePassword($password){//password修改为pwdreturn$this->pwd===$password;}}
添加回答
举报
0/150
提交
取消