这是编程和系统管理员的混合体,但我认为它更多的是编程问题。
目前正在构建用于管理 Oracle 用户帐户 (C#) 的密码管理 Web 应用程序。
该范围要求在允许用户设置新密码之前验证用户 Oracle 用户名和密码。如果不创建用户密码表(散列或其他,这是一个安全风险),我如何验证旧用户密码?
我当前的解决方案是尝试使用用户指定的用户名/密码连接到数据库。在这方面的太多尝试会将用户锁定在 Oracle 端,因此暴力破解不太可能。我在这里是否还有其他安全风险,或者是否有更好的方法来处理这个问题?
我们使用 AD 作为主要身份验证,但 AD 帐户未绑定到 Oracle 帐户,因此这只是初步检查。
应用程序流程(如果有帮助):
- AD 检查正确的域(Intranet)
- 用户输入 Oracle 用户名/密码
- 输入旧密码,新密码+确认
- 如果正确,请重置密码