HowTo используют аутентификацию Windows с MSSQL 2008+Delphi 7+ADO, но пользователи все еще ввели бы свой пароль?

Кто-либо знает, возможно ли настроить 2008 MSSQL для использования аутентификации Windows, но пользователи должны были бы все еще ввести свой пароль Windows для вхождения в систему (это должно будет быть выполнено при помощи Delphi 7+ADO)?

[Править]: Просто для уточнения SQL-сервер и клиенты - все в рамках того же Windows Domain.

[Отредактируйте 2]: Я не хочу писать, что мои собственные новые LoginDialog, а скорее иметь SQL Server делают это для меня или скажем, управления DBConn.

С наилучшими пожеланиями, Reinhard

5
задан pastacool 22 June 2010 в 08:32
поделиться

3 ответа

Если вы действительно хотите это сделать, вы можете предложить пользователю (повторно) ввести учетные данные, а затем проверить и обработать их соответствующим образом в зависимости от успеха / неудачи. Для этого вам нужна функция LogonUser . На этом этапе вы даже можете разрешить пользователю входить в базу данных, используя учетные данные, отличные от тех, которые используются для входа в компьютер, с помощью функции ImpersonateLoggedOnUser . См. этот ответ .

2
ответ дан 14 December 2019 в 18:58
поделиться

Было бы небезопасно и, вероятно, снизилось бы доверие к вашему приложению, если бы вы заставили пользователей снова вводить имя пользователя и пароль своего домена в вашем приложении. Как упоминал Джероен выше, вся идея использования Windows auth заключается в том, что используется существующий пользовательский сеанс!

@MarkRobinson: Я не понимаю, почему такой приложение будет небезопасным? Пользователи даже не знаю разницы между sql auth и windows auth и до теперь в нашей старой системе они всегда пришлось предоставить имя пользователя / пароль, так как использовался только sql auth

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

Это было бы небезопасно из-за того простого факта, что вы добавляете шаг, который не требуется, поскольку вход в систему с авторизацией Windows устраняет эту проблему.

Edit1:

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

Я бы порекомендовал либо:

  1. Убедитесь, что есть заставка с соответствующим тайм-аутом, который вызовет повторный вход.
  2. Используйте LockWorkStation для принудительного повторного входа в систему (возможно, сначала покажите сообщение в строке «в целях безопасности , ваша рабочая станция будет заблокирована, чтобы убедиться, что вы являетесь тем, кем вы себя называете "
2
ответ дан 14 December 2019 в 18:58
поделиться

На странице, на которую ссылается Скотт В., есть хорошая ссылка на Как проверить учетные данные пользователя в операционных системах Microsoft . В частности, они подробно описывают аспект безопасности:

Примечание Сбор учетных данных пользователя из приложения пользовательского режима может раздражать пользователей и может создать возможную дыру в безопасности в вычислительной среде предприятия. . Требование единого входа в систему (требование, согласно которому от пользователя требуется вводить свои учетные данные только один раз на экране CTRL + ALT + DEL) было добавлено в требования к логотипу Microsoft BackOffice именно по этим причинам. Важно убедиться, что вам действительно нужно собрать учетные данные и что какой-либо другой метод проверки клиент / сервер не подходит больше. Обратитесь к документации по безопасности в Platform SDK для получения дополнительной информации о олицетворении и программировании защищенных серверов.

1
ответ дан 14 December 2019 в 18:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: