2

Приложение ASP.NET 3.5 с SQL Server 2005 должно обеспечивать единый вход в среде интрасети. Это делается с помощью режима проверки подлинности Windows в файле web.config.Пул объединения и один знак на

Я хочу использовать соединение пул как можно больше. Я также хочу использовать SSPI в качестве доступа к базе данных в строке подключения и не использовать олицетворение (в web.config)

Таким образом: существует ли способ использования пула соединений и механизма единого входа для приложений ASP.NET?

ответ

1

Использование проверки подлинности Windows не обязательно означает, что поток, обрабатывающий запрос, запускается под этим идентификатором пользователя. По умолчанию ASP.NET использует идентификатор рабочего процесса в своих потоках, поэтому, если у вас нет конкретной причины для активации олицетворения, потому что для этого требуется модель безопасности (например, вы добавили группы пользователей в SQL в качестве пользователей SQL и контролируете доступ к SPs/Views через этих пользователей), тогда здесь нет проблем.

Предполагая, что вы выдаете себя пользователь окна в обработке ASP.NET: -

Вы находитесь в интрасети, сколько пользователей у вас есть?

Пул соединений в течение долгого времени помогал с масштабируемостью приложения, однако, хотя за последнее десятилетие машины значительно улучшились, число пользователей в организации не увеличилось с одинаковой скоростью.

IOW, вы уверены, что наличие одного или двух подключений для каждого пользователя на самом деле является проблемой?

Пул соединений по-прежнему действует, каждая спецификация соединения будет иметь свой собственный пул, ведущий к множеству пулов одного или двух соединений. Следовательно, время установки соединения не будет проблемой. Система пользователей 500 может привести к тому, что 1000 подключений будут в режиме реального времени, но по современным стандартам, что не является слишком большим бременем, как это было бы тогда, когда объединение было впервые задумано.

+0

Использование SSPI и наличие режима аутентификации Windows является решением, поскольку используется идентификатор рабочего процесса, поэтому гарантируется unqiue при каждом вызове БД. –

0

Вы можете использовать единый вход для своего приложения, а затем приложить выдачу себя за одного пользователя для каждого подключения к базе данных, в идеале это учетную запись службы, не имеющую прав входа в систему.