从Yii2网站验证我的应用程序中的密码

时间:2018-04-01 09:54:51

标签: android hash yii2 salt

我和我的朋友正在进行最终项目。我的朋友有点领先,并在Yii2框架上创建了他所有的数据库。

一切正常,我们的数据库在AWS上,我通过Android应用程序上的简单请求得到它。

现在我来到了需要使用login-password的部分。在这里我被卡住了,因为我可以从数据库中获取的所有东西都是盐渍密码。我的朋友在密码部分使用了salt(这是正确的做法)。

该网站仍在我们的硬盘上。

1)我们是否必须在线上传,然后才开发一些     调用数据库的API函数,因此我的应用程序可以访问验证     网站的一部分?

2)也许Yii2已经有了验证功能     内置可以被Android应用程序使用的地方?一个例子就是     超级有帮助。

3)我看到很多关于API函数的例子,     但是所有这些看起来都非常复杂,与Java无关     所有

Yii2验证实际上是在线:https://github.com/yiisoft/yii2-framework/blob/master/base/Security.php在validatePassword函数上。

1 个答案:

答案 0 :(得分:0)

您是否在用户模型上实现IdentityInterface? 如果是的话,你可以在你的yii2 rest api中使用它。

public function actionLoginUser(){
    $data = Yii::$app->request->post();
    $username = $data['username'];
    $password = $data['password'];
    $user = User::findByUsername($username);
    if($user->validatePassword($password)){
     //your next response 
    }        
}

其中validatePassword方法如下:

public function validatePassword($password)
    {
        return Yii::$app->security->validatePassword($password, $this->password_hash);
    }

抱歉英语不好