我需要为一家公司创建一个应用程序,他们希望人们登录到该应用程序以获得不同的权限来执行不同的任务。
我最初的想法是创建一个 MySQL 数据库,将凭据硬编码到应用程序中,然后让应用程序连接到 MySQL 数据库。MySQL 数据库将有一个名为“users”的表,该表将存储用户名、密码和权限。然后应用程序将查询服务器并执行身份验证。
最大的问题是将 MySQL 凭据硬编码到应用程序中。如果应用程序落入坏人之手,如果他们四处寻找凭据并开始删除表,他们可能会对 MySQL 数据库造成很大损害。
所以我想开发一个服务器来充当 MySQL 数据库的接口。例如,客户端应用程序将通过 TCP 连接到服务器,服务器连接到 MySQL 数据库。这样,MySQL 凭据就不会暴露给最终用户。但是,这意味着我必须开发一个服务器应用程序,它 a) 将更难为我的客户维护和部署(而不是仅仅设置 MySQL 服务器)和 b) 有可能引入更多错误,因为我有一个额外的系统我需要做(这与部署错误修复等有关)
所以我在想,与其在数据库中有一个用户表并让应用程序使用硬编码的凭据直接连接到 MySQL 服务器,不如为最终用户提供实际的 MySQL 用户凭据,他们将在其中输入应用程序以连接到MySQL 服务器。这意味着如果有人拿到了应用程序,他们不会对 MySQL 数据库造成任何损害,但仍然存在最终用户将其凭据提供给错误人的风险。
让桌面应用程序连接到 MySQL 数据库的最佳方法是什么?除了我想到的3个之外还有其他解决方案吗,或者您对我的解决方案有什么想法?