连接池和单点登录

时间:2009-05-14 07:07:39

标签: asp.net connection-string connection-pooling single-sign-on

带有SQL Server 2005的ASP.NET 3.5应用程序必须在Intranet环境中提供单点登录。这是通过使用web.config中的Windows身份验证模式完成的。

我想尽可能多地使用连接池。我还想在连接字符串中使用SSPI作为数据库访问而不使用模拟(在web.config中)

因此:有没有办法为ASP.NET应用程序使用连接池和单点登录机制?

2 个答案:

答案 0 :(得分:1)

使用Windows身份验证并不一定意味着处理请求的线程在该用户身份下运行。默认情况下,ASP.NET在其线程中使用工作进程标识,因此除非您有特定的理由启用模拟,因为您的安全模型需要它(例如,您已将用户组作为SQL用户添加到SQL并控制对SP /视图的访问权限通过这些用户)那么这里没有问题。

假设您在ASP.NET处理中模仿Windows用户: -

您在Intranet环境中,有多少用户?

连接池已经存在很长时间以帮助提高应用程序的可扩展性,但是在过去的十年中,虽然机器已经有了很大的改进,但组织中的用户数量却没有以相同的速度增长。

IOW,你确定每个用户打开一个或两个连接实际上是个问题吗?

连接池仍然有效,每个连接规范都有自己的池,从而导致大量的一个或两个连接池。因此,连接建立时间不会成为问题。一个500用户系统可能会导致1000个连接正在运行,但是按现代标准来说,这并不像第一次构建池时那样负担过重。

答案 1 :(得分:0)

您可以为您的应用程序使用单点登录,然后让应用程序为每个数据库连接模拟一个用户,最好是没有登录权限的服务帐户。