Petro123 |
я тебе про фому, а ты про ерёму. Перенеси БЛ на сервер или клиенты, и не будет таких сабж-вопросов. Или спроси про 3-х звенки на форуме СУБД.
[quot Petro123]Хочешь просто - MS рекомендует БЛ на сервере. Дяже ЯП туда засунул. Хочешь сложно и "рукописно" - делай на оракле. Там SSO есть, и куча примочек-стандартов для этого. |
Видимо я плохо объяснил... Есть SQL Server с реализованной бизнес-логикой. Есть промежуточные сервера в задачи которых входит, в том числе, проведение клиентских операций в SQL Server. Реализация сделана так, что проведение этих операций осуществляется именно от имени (логин-пароль) пользователя, а не под технологическим логином. Благодаря этому значительно повышается уровень безопасности системы, ибо взлом промежуточного сервера не предоставит прав выше чем это прописано в БД. Раз уж были предложения перевести все под единый логин, объясню, почему этого не стоит делать: технологический логин должен обеспечивать работу всех клиентов, имеющих самые разные права, а, следовательно, должен иметь доступ ко всем процедурам всех клиентов (по сути, наивысший уровень доступа). Соответственно, уровень безопасности системы определяется только надежностью работы промежуточных серверов
Описанный механизм прекрасно работает. Однако теперь есть задача - добавить поддержку AD. Возникла идея сделать такой вот mixed mode:
Если пользователь заходит через AD, то передается только логин пользователя. Дальше проверяются его права в AD, а затем организуется коннекшн с переданным логином и предопределенным (вшитым) паролем. Соответственно, администратор, при импорте пользователя из AD, задает ему в SQL Server тот самый предопределенный пароль.
Таким образом, обычные пользователи работают, передавая логин-пароль, а пользователи AD передают только логин. Пароль используется предопределенный заранее.
Как считаете? Может есть более "правильный" способ?