2011-11-20 124 views
0

我已经读了很多,但我仍然无法找到我想要的点,它是以下几点:SQL Windows身份验证角色?

如果我可以通过Windows身份验证模式连接到SQL,那么在我安装软件后数据库的用户可以很容易地查看和操纵我的数据库,如果我想撤销任何角色,我将限制我的程序,当它要访问数据库。

有没有办法限制用户对数据库的访问,而我的程序可以没有任何问题的完整访问。

+0

让不同的用户使用不同的访问规则。 – Oded

+0

它是Windows身份验证,因此它只有一个用户。 – ykh

+0

Windows身份验证并不意味着您只需要拥有一个用户。 – Oded

回答

2

应用程序无需使用正在运行的帐户登录到sql。因此,为具有所需权限的应用程序创建一个单独的用户帐户,并使用该帐户从应用程序登录。

或者,您可以使用sql server身份验证设置单独的登录名,然后您将不需要其他用户帐户。

如果这不是您的应用程序,并且您无法修改它以使用其他帐户登录,那么您可以在另一个帐户下运行该应用程序本身。当你按住Shift并右键点击一个图标时,你会看到它给你一个选择。但是,我不知道如何将应用程序设置为自动运行,而无需用户输入密码。我认为这是可能的。

此外,我认为当您设置帐户时,您可以将其设置为用户无法实际登录的特殊类型。因此,他们可以知道运行该应用程序的密码,但他们无法真正在该帐户下登录以对其执行任何操作。这不会阻止某个人足够聪明地获得访问权限,但这是一个很好的保障。

+0

sql默认使用当前用户帐户连接,我怎么能登录使用另一个帐户呢? – ykh

+0

我假设你正在开发这个应用程序。如果情况并非如此,那么我不知道。如果你是,那你现在怎么连线? –

+0

我已经做了所有人在这里告诉我不要,我已经放弃了Windows身份验证的所有角色,并将其更改为混合模式,并授予对sql身份验证模式的“sa”用户的完全访问权限,所以这将使用户无法访问该数据库,直到他知道密码是什么。 – ykh

相关问题