我有一个在本地用户凭据下运行的应用程序。但是,我想允许此应用程序使用特定凭据访问MSSQL数据库。
如果我使用SQL登录,这不是问题,但我想使用我拥有用户名(以及域名)和密码的特定Windows帐户。请注意,我不希望使用这些凭据运行整个应用程序。
这一切都可能吗? This SO question似乎建议在连接字符串中使用Integrated Security=SSPI
WITH指定的Windows凭据将允许我以该用户身份登录数据库,但是我无法在我的测试计算机上执行此操作。
鉴于SQL Server Management Studio如何登录数据库(即它使用当前凭据或指定的SQL凭据,但似乎不允许指定的Windows凭据)我认为这不可能是完了,但我想确认一下......
答案 0 :(得分:1)
您可以将其作为SQL Server端
来处理通过在使用" EXECUTE AS Clause"创建的存储过程中封装在另一个帐户下需要完成的任务。
Create Proc sp_Dosomething_As_specific_user
WITH EXECUTE AS '{SpecificUser}'
BEGIN
/*Do Something*/
END
并允许用户帐户对该
执行权限GRANT EXEC ON sp_Dosomething_As_specific_user TO {Actual_User}
有关" EXECUTE AS"的详细信息。条款看看这个 http://msdn.microsoft.com/en-us/library/ms188354.aspx
这意味着您已将用户限制为仅运行其他用户的特定预定义操作或操作集,而不是让他们模仿其他用户的一般权限
这将有助于让负责IT安全的人保持高兴