| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > NT Authentication в MSSQL и Tomcat |
| Автор: Alagert 23.1.2007, 12:27 |
| Доброго времени суток! Проясните следующую ситуацию плиз: Есть Tomcat, запущенный под неким юзером Х. На нем крутиться сервлет, который работает с базой на MSSQL сервере. По условию задачи нам нужно юзать NT Authentication. В связи с этим возник вопрос: мы будем пытаться автаризироваться на сервере под юзером Х? Заранее спасибо! |
| Автор: tux 23.1.2007, 13:01 |
А как в условии задачи? Нужно на SQL-сервере авторизоваться? |
| Автор: Alagert 23.1.2007, 15:10 |
С сервлетом работают юзеры некоторого домена, авторизируются в нем по своему доменному логину/паролю (это жесткое условие - поменять никак нельзя) И по логике с этими же данными сервлет должен ломиться к БД серверу. Но тут берут сомнения. |
| Автор: Alagert 23.1.2007, 15:38 | ||||
Именно так у нас и сделано. С этой частью нет проблем, все работает правильно.
Вы имеете ввиду, что неплохо бы иметь непосредственно логин/пасс к SQL серверу? Такой режим у нас тоже есть и работает все норм! Но нашему заказчику, блин, нужна возможность NT Authentication. Те я неправильно копаю в сторону Tomcat? Вся бяка в jdbc драйвере? Кстати, по требованию заказчика, мы вынуждены юзать MS JDBC driver |
| Автор: tux 23.1.2007, 15:43 | ||
Ну тогда у вас кажется NTLM возможен. Только единственный результат, который вижу от использования NTLM при подключении к базе данных - это геморрой с администрированием. В общем не знаю, никогда такого не видел. А какие-нибудь аргументы заказчик приводит или как обычно - "я хочу", "я не хочу"? |
| Автор: COVD 23.1.2007, 16:09 |
| Когда в базе прописывается пользователь, то приходится выбирать между Windows Aut.. и SQL Server Aut.. В первом случае прописывается domain, т.е. соединение разрешается только с определенного компьютера. Во втором случае прописывается логин и пароль, т.е. к базе можно подсоединиться с любого компьютера, который видит базу. Наверное , первый вариант более "секюрный" |
| Автор: tux 23.1.2007, 16:24 |
А какая разница? Установка соединения с базой скрыта внутри приложения и наружу не светится. |
| Автор: COVD 23.1.2007, 17:32 | ||
Как я понимаю, в первом случае разрешение дается компьютеру с определенным адресом в сети, т.е. физическому компьютеру. А во втором - злоумышленнику достаточно узнать логин-пароль и иметь сетевое соединение на базу данных. А злоумышленник может быть и внутри |
| Автор: tux 23.1.2007, 17:45 | ||
Нет. Причем почти что наоборот. Разрешение дается пользователю домена независимо от того с какой машины в сети он подключается. Имя и пароль узнать проще по той причине что таких пользователей больше, а некоторые юзвери еще и имеют обыкновение приклеивать листочек с именем и паролем на монитор. Думаю имя и пароль внутреннего пользователя MSSQL на листочке на мониторе вряд ли кто-то видел. |
| Автор: COVD 23.1.2007, 18:43 | ||
Возможно, в этом случае проблема перекладывается на администратора сети. Имя и пароль конечно проще. А листочки... девелопер ведь тоже может интересоваться содержанием базы. Особенно, если завтра он увольняется |