|
66 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 3
|
|
JAAS JBOSS 7 Авторизация и аутентификация толстого клиента14.10.2012, 01:17. Показов 5256. Ответов 3
Метки нет (Все метки)
Появилась такая задача.
Есть толстый клиент и JBOSS AS 7. Необходимо логинить пользователей через толстый клиент. Кто знает где можно почитать новичку в этом вопросе о том, как это делать правильно с участием JBOSS 7. Нужна доступная детальная дока. Или хотя бы последовательный список источников после прочтения которых все становится понятно. И если можно, вкратце обрисовать, как эти механизмы работают, какой уровень безопасности они предоставляют. Большое спасибо!
0
|
|
| 14.10.2012, 01:17 | |
|
Ответы с готовыми решениями:
3
JAAS + Struts + JBoss JAAS аутентификация на LDAP Технологии и паттерны для толстого клиента на JS |
|
|
|
| 14.10.2012, 02:13 | |
|
вкратце так http://www.coderanch.com/t/881... S-Tutorial
длиннее тут http://devbank.wordpress.com/2... ial-part1/ самое длинное http://www.oracle.com/technetw... 89689.html
2
|
|
|
66 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 3
|
|
| 14.10.2012, 03:54 [ТС] | |
|
Спасибо за ссылки. Начинаю вникать.. По факту отпишусь.
0
|
|
|
66 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 3
|
||||||||||||||||||||||||||
| 19.10.2012, 19:47 [ТС] | ||||||||||||||||||||||||||
Сообщение было отмечено как решение
Решение
Вот что удалось накопать.
Аутентификаци на основе JAAS лучше всего расписана вот тут: http://www.javaranch.com/journ... 804.jsp#a6 Делее специфика JBOSS 7.1 Покажу как наладить удаленный доступ к EJB компоненту, при этом обеспечить аутентификацию пользователей: понять кто именно вызывает наш EJB метод, а также как уметь ограничить доступ пользователей, либо ограничить доступ пользователей, которые не обладают необходимыми правами. Подразумевается, что хотя бы поверхностно с JBOSS 7 и EJB 3 знакомы. В standalone.xml 1. добавляем Realm, в раздел <management> <security-realms> по аналогии с ApplicationRealm:
добавляем новый security domain:
my-users.properties my-roles.properties Несмотря на то что в файле для создания пользователей для applicationRealm указано, что пароль должен быть хеш функцией с участием realm, так это не работает с другим реалмом. Да и не нужно. Надо просто указать пароль без всякого хеширования # The format of this realm is as follows: - # username=HEX( MD5( username ':' realm ':' password)) пример (для my-users.properties): userAlex=pass1234 пример (для my-roles.properties) userAlex=admin,superuser, (роли указываются через запятую, без каких либо пробелов и в конце тоже запятая!) С настройками сервера все. Серверная часть, EJB В EJB никаких xml не надо (не обязательно, делаем все по-современному, через аннотации): Тут легче объяснить на примере. Пример.
Аутентификация: При удаленном вызове с клиента, когда мы попадаем в бин, в контексте сессии уже содержится пользователь, от имени которого с клиента происходит соединение. Поэтому из контекста сессии мы узнаем что за пользователь выполняет метод. Авторизация: Контроль за выполнением проходит двумя способами. 1) Во-первых, к этому бину имеет право получить доступ только пользователь из security domain "ejb-security-domain", это обеспечивается аннотацией SecurityDomain("ejb-security-domain") перед именем класса. 2) Метод getServerInfo() могут выполнять только пользователи, у которых есть роль (право) "uperuser". Клиетская часть. Так мы получаем InitialContext для удаленного доступа к нашим бинам (бину).
String userPass = "pass1234"; Таким образом вы передаете данные пользователя, под которым хотите взаимодействовать с бином. Context context = getInitialContext(); String earName="myejb"; // myejb.ear - то что задеплоено на сервер, где находится jar с бином String jarName="servercode"; // servercode.jar - внутри ear находится jar файл, в котором наш ejb bean String beanClassSimpleName; // ServerInfo String beanClassName; // com.gp.ejb.ServerInfoRemote ServerInfoRemote statelessBean = ServerInfoRemote context.lookup("myejb/servercode/ServerInfo!com.gp.ejb.ServerInfoRemote") ; Эту же стороку можно увидеть, когда вы деплоите на сервер свой ear. В консоли JBoss при деплое выводит JNDI имена. Воспользоваться можно только одним, и то, определенным способом Для данного примера AS7 выведет среди прочих: java:jboss/exported/myejb/servercode/ServerInfo!com.gp.ejb.ServerInfoRemote В общем случае, подойдет то, что после exported. Таким образом мы получаем доступ (прокси) к нашему бину. Далее вызовем удаленный метод: String s = statelessBean.getServerInfo() // получим s= "Server works. User/Executor/Principal = userAlex" Можно также подключать на сервере и другие LoginModules , например для аутентификации пользователей не из файла properties как в данном примере, а из базы данных (https://community.jboss.org/thread/168992) к счастью информация на эту тему широко доступна. Да, при изменении файла с пользователями, сервер сразу же подтягивает информацию из файла (как измененные пароли, новые пользователи или изменение ролей у пользователя), перезапускать не надо. Можно также подключить SSL. В этом случае удаленное взаимодействие станет еще и безопасным. Но это уже отдельная песня.
0
|
||||||||||||||||||||||||||
| 19.10.2012, 19:47 | |
|
Помогаю со студенческими работами здесь
4
Перевод Обычного приложения Толстого Клиента в Управляемое Принудительно задать компилятору толстого клиента в общем модуле Как запустить клиента на JBoss? Кто-нибудь писал IIOP клиента под JBoss? Dwa: аутентификация на основе сертификата клиента Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|