我和我的朋友正在进行最终项目。我的朋友有点领先,并在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函数上。
答案 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);
}
抱歉英语不好