2017-06-18 92 views
1

我自愿帮助一家非营利公司,该公司拥有由当地大学的学生构建的Web应用程序,该应用程序已经毕业且不再可用。他们将ASP.NET用于Web应用程序,将SQL Server用于Windows Server网络上的数据库。它使用IIS应用程序池登录到SQL Server,登录:IIS APPPOOL \ DefaultAppPool。SQL Server使用VB.NET中内置的Windows Form应用程序使用现有的IIS应用程序池

我已经重写了VB.NET中的应用程序,并增加了功能,因为我没有ASP.NET的经验。我还最终在同一个服务器上建立了一个新的数据库,并在我们认为新应用程序准备就绪后导入当前的数据库。我研究了应用程序池。

问题:VB.NET Windows Form .EXE应用程序可以使用现有IIS APPPOOL连接到SQL Server吗?

我试图最大限度地减少用户对SQL Server计算机的访问,而不是搞乱当前的系统。目前普通用户不具有AD网络对SQL计算机的读/写权限,他们可以访问其Citrix桌面上的现有Web应用程序。

二级问题:如果某个.EXE应用程序无法使用IIS APPPOOL,我的研究显示会为该用户创建一个AD组,并为该组添加一个SQL Server登录,并对该数据库拥有SQL权限并使用Windows身份验证进行连接到SQL Server。 SQL Server计算机上的哪些目录需要分配给新组的AD权限? 我尝试了我构建的数据库的.mdf和.ldf文件,登录失败。谢谢你的帮助。

回答

0

问题:VB.NET Windows Form .EXE应用程序可以使用现有的IIS APPPOOL连接到SQL Server吗?

号IIS所使用的唯一的webapps

次要问题:如果一个.EXE程序不能使用IIS APPPOOL,我的研究表明让与用户的AD组,添加的SQL Server为该组登录具有数据库的SQL权限并使用Windows身份验证连接到SQL Server。 SQL Server计算机上的哪些目录需要将AD权限分配给新组?我尝试了我建立的数据库的.mdf和.ldf文件,登录失败。

即使您不使用IIS,也可以使用基本的Windows身份验证。您可以在sql server中创建一个windows组,将用户添加到该组中。但是仍然存在一个问题,用户需要右击应用程式,并运行作为该组的设置连接..

为了避免这种情况,您可以直接创建用户并为其指定权

如果您正在使用SQL Server登录,您的用户可以直接login..when他们运行的应用程序,他们可能会面临提示输入凭据..

为目录部分,您只需确保,sql server运行,因为帐户对该目录具有完全权限

+0

通过实验,我发现只给数据库.mdf和.ldf文件所在目录的AD安全组提供修改/读/写权限似乎足以使新程序能够使用Windows的SQL Server身份验证和正确的连接字符串。 –

0

应用程序池是IIS内部方法,即使在该Web服务器上运行的网站彼此分开。总的来说,一个网站不应该也不能访问其他网站的应用程序池,所以你的Windows Forms应用程序也不能这样做。

这并不意味着你不能访问相同的SQL服务器或同一个数据库,当然可以。但这取决于你的连接设置,这两个将是两个不同的SQL服务器会话,两个或更多的SQL服务器进程。

这也回答了第二个问题:您必须定义连接,可能在应用程序中使用连接字符串。这取决于你如何做到这一点。并且由您决定为用户选择什么样的安全模式。

相关问题