使用数据库的 MobileFirst 用户身份验证安全检查

Posted

技术标签:

【中文标题】使用数据库的 MobileFirst 用户身份验证安全检查【英文标题】:MobileFirst User authentication security check with database 【发布时间】:2018-03-14 15:32:30 【问题描述】:

我正在学习本教程:

http://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/authentication-and-security/user-authentication/security-check/

他们在那里检查从用户在应用中输入的凭据:

@Override
protected boolean validateCredentials(Map<String, Object> credentials) 
    if(credentials!=null && credentials.containsKey("username") && credentials.containsKey("password"))
        String username = credentials.get("username").toString();
        String password = credentials.get("password").toString();
        if(!username.isEmpty() && !password.isEmpty() && username.equals(password)) 
            return true;
        
    
    return false;

如您所见,当usernamepassword 相等时,身份验证返回true。我有一个mysqldatabse,我保存了注册用户。所以我想对照我数据库中的数据检查输入的credentials。我必须如何更改适配器和方法才能做到这一点?

【问题讨论】:

【参考方案1】:

为此,您需要编写代码以连接到您的数据库,调用 SQL 查询来检查数据库中的数据。

在您的安全检查的 validateCredentials 方法中,您应该编写代码以连接到保存注册用户信息的数据库。根据数据库检查用户详细信息,并根据结果返回 true 或 false。

here 列出了一个示例 Java SQL 适配器。您可以将其用作参考。

【讨论】:

以上是关于使用数据库的 MobileFirst 用户身份验证安全检查的主要内容,如果未能解决你的问题,请参考以下文章

mobilefirst 中的 SQL 适配器身份验证

使用 MobileFirst 在移动应用程序中使用 LDAP 服务器对用户进行身份验证

IBM MobileFirst SDK 如何检查用户身份验证 Android Native 应用程序

MobileFirst 8:存储数据时遇到意外错误

Mobilefirst 平台与 NETIQ IDAM 的集成

MobileFirst 自定义身份验证初始化失败