正确的数据库访问身份验证
本文关键字:访问 身份验证 数据库 | 更新日期: 2023-09-27 18:32:53
我们正在开发一个简单的网络应用程序,它将在我们的内部网上提供。 对应用程序的访问将通过"用户"表进行控制:如果您的网络登录名存在于表中,则可以使用该应用程序。
该应用程序本身将使用SQL数据库。 在我们当前的开发设置中,我们都是开发数据库的管理员,因此我们拥有完全访问权限。 但是,当它部署到生产环境时,我们有几个选项可用于向数据库进行身份验证。
向每个适当的用户授予他或她自己的数据凭据是否有意义,或者所有用户都应该在数据库上共享一个应用程序级用户帐户?
根据我的经验,为每个应用程序用户创建单独的用户帐户会使事情复杂化。 如果没有必须设计的安全规范,我将为应用创建单个登录名,创建数据库角色,向该角色授予权限,然后将登录名添加到该角色。
如果使用此方法,通过将用户名作为存储过程的输入参数传递,则仍可以审核用户操作。
每用户访问凭据将导致除最小用户群之外的所有用户的后勤噩梦。 在Web环境中,它也使事情变得稍微复杂。
我见过(和使用)的最常见的方法是为每个应用程序使用专用用户。 所有访问都通过该用户名/密码。
您的应用程序在任何情况下都将执行授权,因此您可以根据需要审核执行各种操作的用户名。