使用 Apex 应用程序的提示更改密码

问题描述 投票:0回答:1

我有一个 Apex 应用程序,当前有一个登录页面,其中包含我手动输入到名为 CSD_LOGIN_USERS 的表中的凭据。 我可以使用名为 CSD_LOGIN_AUTH 的函数使其工作。

所以现在所有用户都可以使用我定义的密码登录应用程序,但他们无法更改它,而且显然,即使另一个管理员更新了密码,我也可以在表中看到他们的密码。

我怎样才能:-

执行更新密码的提示?

防止用户在登录时再次被提示更改密码(除非他们决定更改)?

加密/隐藏密码列中的密码?

我的APEX版本是22.1

authentication oracle-apex
1个回答
0
投票

切勿将实际密码(无论是否加密)存储在数据库中。永远不应该有办法直接查看或解密实际的密码值。相反,使用 DBMS_CRYPTO 包或 JavaScript 中的哈希函数(如 SHA256)来生成密码的单向哈希值以存储在数据库中。当用户登录时,对他们提供的密码进行哈希处理,并将其与表中存储的哈希值进行比较。

实现更改密码功能,就像实现一个屏幕来更改数据库中的任何其他数据一样。将新密码通过哈希函数传递以获取要存储的值。

© www.soinside.com 2019 - 2024. All rights reserved.