2

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

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

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

4

2 回答 2

1

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

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

你在一个内网环境中,你有多少用户?

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

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

连接池仍然有效,每个连接规范都有自己的池,导致大量的一两个连接池。因此,连接设置时间不会成为问题。一个 500 个用户的系统可能会导致 1000 个连接处于活动状态,但按照现代标准,这并不会像最初设想池化时那样造成太大的负担。

于 2009-05-14T07:38:58.657 回答
0

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

于 2009-05-14T07:27:45.580 回答