Visual Basic应用程序以计算机用户身份连接到SQL Server



我用本地机器上SQL Server中存储的数据制作了一个用VB制作的简单CRUD应用程序。

在数据库安全中,我创建了数据库角色并相应地分配了权限,并将我的(域(计算机用户帐户添加到该角色中。

我的连接字符串为;

Data Source=(LocalDB)MSSQLLocalDB;Initial Catalog=Assets;Integrated Security=SSPI

现在,当我运行应用程序时,它将扮演dbo角色,而不是运行应用程序的用户。由于这是在一台中央计算机上运行的,并且有多个用户连接到它,具有不同的权限,我需要做什么更改才能使用我的域用户帐户进行连接?

当我使用EXECUTE AS USER命令在SSMS中运行命令时,将应用权限。

如果您希望用户通过Windows登录进行连接,那么您的连接字符串就可以了。但是,您需要重新配置您的安全模型。理想情况下,您希望为每个应用程序角色创建一个Active Directory组。然后,将用户的Windows帐户添加到相应的AD组中。现在,在SQL Server上,您可以将AD组添加到适当的数据库角色中。

例如,您创建了一个数据库角色";仅db_read_only";。你会创建一个广告组";MyApp.ReadOnly";,当然,使用您公司的AD组命名约定。然后将MyApp.ReadOnly添加到数据库的db_read_only数据库角色中。然后,John Doe希望以只读方式访问您的应用程序,因此他会请求添加到AD组MyApp.ReadOnly.

你的应用程序角色定义了你需要多少AD组和DB角色。您可能有MyApp.Admin、MyApp.DataEntry、MyApp.Approver…等等。

最新更新