0

在 Web 应用程序中,为了获取数据,我们可以先请求用户进行身份验证。身份验证也在 Web 服务器端完成。

本地网络应用程序呢,不涉及服务,应用程序直接连接到数据库(数据库位于服务器 PC 上)。我该怎么做:这张表只能由经过身份验证的用户读取,这张表只能由所有用户读取,等等。

4

3 回答 3

1

未经身份验证,您无法连接到数据库(mySQl、Oracle、SQLServer)。

通常您会将连接信息存储在配置文件中,但您也可以不这样做并要求您的用户提供他们自己的凭据。

大多数 SGBD 将允许您为每个用户配置读/写权限。

于 2012-05-15T23:13:37.233 回答
1

如果我正确理解您的问题如果网络上的所有用户都属于域使用 Windows 身份验证,那么您的连接字符串将类似于:

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

否则您将不得不使用用户身份验证:

 Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 

这些都是为 sql server 完成的:

其他人检查一下
希望能帮助到你

于 2012-05-15T23:20:10.073 回答
0

您需要以与 Web 应用程序相同的方式为数据库本身配置权限。通常,如果是桌面客户端,您将授予用户 Web 应用程序在足够的权限下运行以在数据库中执行所有操作 - 向各个用户授予适当的权限。

请注意,这种设计比通常可以接受的更多的数据库访问权限。

于 2012-05-15T23:15:02.970 回答