![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Vassik |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Привет всем
Использую я в своем web приложении DataSource, в struts-config.xml описываю свой источник, вот так вот:
собственно проблема в том, каким образом мне описасть property="username" и property="password", чтобы из экшен класса можно было username и password, динамически задать(методом getConnection(name,password))
Зарание спасибо Это сообщение отредактировал(а) Vassik - 11.5.2007, 00:25 |
||||
|
|||||
| Devorior |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 1.8.2002 Где: Обнинск Репутация: 1 Всего: 3 |
Я не проверял, но думаю что так:
|
|||
|
||||
| Vassik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Я видно не совсем точно поставил вопрос, я имел ввиду каким образом мне описать data-source в struts-config.xml, чтобы мне из кода можно было имя и пороль задать при создании подключения, вот так вот:
Это сообщение отредактировал(а) Vassik - 11.5.2007, 09:38 |
|||
|
||||
| Devorior |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 1.8.2002 Где: Обнинск Репутация: 1 Всего: 3 |
Конфиг остается тем же, просто в коде который я привел ты подменяешь логин и пароль из файла на те, что идут из формы.
Это я так понял из javadoc устаревший метод и используется конструкция dataSource.getConnection(), поэтому в своем примере я установил логин и пароль из формы через методы set() |
|||
|
||||
| Vassik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Хм..интересно, а если я не хочу светить пароль и имя в конфиге, это как нибудь можно сделать? Просто если на обум значения поставить, т.е несуществующий логин, то ошибка появляется на сколько я помню, просто ща не могу проверить. |
|||
|
||||
| eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
Ты что хочешь из кода менять struts-config.xml? Так по-моему это не логично. Когда загружается твой datasource, то все регистрируется под юзера и его пасс который как раз находится в struts-config.xml. Каким образом ты собираешься это сделать я не понимаю, но если до чего до шаманишься, выложи этот шедевр посмотреть людям. --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
| Devorior |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 1.8.2002 Где: Обнинск Репутация: 1 Всего: 3 |
Этот конфиг закрыт от внешнего доступа, а внутри сервера и без него куча конфигов с интересными вещами которые админ может посмотреть. Так что это просто бессмыслица какая-то |
|||
|
||||
| Vassik |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Понятно, т.е я так понимаю, что при описании data-source в struts-config.xml прописывать пользователя с минимальными правами доступа, а потом из кода создавать соединение с необходимым логином? И это общепризнанные способ работы с DataSource в данном случае? Т.е я правильно понимаю, что нельзя поставить какой нить значение вот здесь
, чтобы data-source знал, что логин нужно получить из вне? Мне просто тогда непонятно, получается, что прямо при старте приложение создается пул соединений, т.е соединения уже созданы, еще при первом обращении к
и я так понимаю, что этот метод всего лишь закрепляет за конкретным пользователем этот самый connect. Тогда вообще непонятно каким образом происходи подмен имени и пароля, соответственно и прав уже в существующим соединение. Или я не прав в самой сути работы data-source? Может кто подскажет тогда? В общем то вопросов много получилось Это сообщение отредактировал(а) Vassik - 11.5.2007, 14:39 |
||||
|
|||||
| tux |
|
||||||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Нет. Тоже нет.
Нельзя.
Все правильно.
Именно в связи с предыдущим поменять имя пользователя и пароль НЕЛЬЗЯ. |
||||||
|
|||||||
| Vassik |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Тогда как правильно делать, для каждого пользователя создавать свой data-source в struts-config.xml ? В таком случае зачем нужны методы создания соеденения, где можно установить имя и пароль? Такие как
или
|
||||
|
|||||
| Devorior |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 1.8.2002 Где: Обнинск Репутация: 1 Всего: 3 |
Проверил, действительно не прошло как я думал
Делать конфиг под пользователя, но это не вариант :( |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Для того и нужны чтобы установить соединение с заданным именем и паролем. А здесь за тебя это сделал пул соединений. Иначе говоря, зачем ты в struts-config.xml прописываешь источник данных? Для того, чтобы избавиться от геморроя с установкой соединения и чтобы заюзать пул соединений. У тебя две альтернативы - либо устанавливаешь соединение руками и задаешь там все что хочешь либо даешь это сделать пулу соединений, задавая имя и пароль в конфиге. Поменять имя и пароль уже открытого соединения (которые пул соединений в себе и содержит) не получится. Это сообщение отредактировал(а) tux - 11.5.2007, 16:09 |
|||
|
||||
| Vassik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Т.е. другими словами возможность идентификации и аутентификация с DataSource у пользователя отсутствует, когда создается пул соединений, точнее она есть, но конечный пользователь на нее повлиять не может, так? Т.е если я хочу с процедурой авторизации работать, то коннект мне надо ручками писать получается....Хотя стоп можно же get методы использовать и просто сравнивать значение username и password. В общем надо до дома добраться и попробовать
|
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Так.
Именно. 5 строчек кода. Правда я никогда не встречал такой задачи, где это нужно. |
|||
|
||||
| Vassik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
||||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |