面向外部(互联网)的应用程序。在这种情况下,我们创建一个 SQL Server 登录,因为 Web 服务器将在 DMZ 中,因此不会在域中。应用程序使用这一帐户进行所有数据库访问。
内部应用程序传递用户的凭据。您可以在 SQL Server Reporting Services 和传递实际凭据很重要的其他情况下看到这一点(审计跟踪)。在这种情况下,您可能会拥有不同级别的权限。每个级别都应该有相应的 Windows 域安全组。Windows 用户应该是这些组的成员。这些组应与数据库中用户定义的数据库角色相关联。这些数据库角色应该具有所有权限。
我主要在企业 MS 环境(.NET、SQL Server、Active Directory)中工作。通常,身份验证通过当前登录的用户上下文和特定于应用程序的安全表进行。代码处理身份验证,然后从数据库获取应用程序授权。这减轻了我的大部分用户维护负担,并将其交给了我们的 IT 部门(密码策略和重置、帐户到期、禁用等)。
我会设置:
2009-07-03 为清晰而重新编辑。
我要去:这取决于。这实际上取决于您的数据库将如何使用。不同的场景:
你会在这个问题上得到各种各样的答案。
我设置了连接字符串中使用的单个应用程序(阅读“每个应用程序”)帐户。没有用户(除了我的开发组)可以直接访问数据库。
我主要在企业 MS 环境(.NET、SQL Server、Active Directory)中工作。通常,身份验证通过当前登录的用户上下文和特定于应用程序的安全表进行。代码处理身份验证,然后从数据库获取应用程序授权。这减轻了我的大部分用户维护负担,并将其交给了我们的 IT 部门(密码策略和重置、帐户到期、禁用等)。