【问题标题】:Validating password in my application from Yii2 website从 Yii2 网站验证我的应用程序中的密码
【发布时间】:2018-04-01 20:21:18
【问题描述】:

我和我的朋友正在做最后的项目。我的朋友有点领先,他的所有数据库都是在 Yii2 框架上制作的。

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

现在我来到了需要使用登录密码的部分。在这里我被卡住了,因为我只能从数据库中获取加盐密码。我的朋友在密码部分使用了盐(这是正确的做法)。

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

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

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

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

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

【问题讨论】:

    标签: android hash yii2 salt


    【解决方案1】:

    您是否在您的用户模型上实现了 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);
        }
    

    抱歉英语不好

    【讨论】:

    • 感谢您的回复!你能更具体一点,说一下这个方法是如何从 Java 中调用的吗?
    猜你喜欢
    • 1970-01-01
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2013-01-14
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    相关资源
    最近更新 更多