powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB3 + JBoss: простой пример по книжке, помогите разобраться...
5 сообщений из 55, страница 3 из 3
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
    #34718048
J-Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreySJНашел причину.
Решилось добавление стороки <provider>org.hibernate.ejb.HibernatePersistence</provider> Вот странно, у меня тоже JBoss и всё работает без этой строчки...
...
Рейтинг: 0 / 0
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
    #34723639
AndreySJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите плиз по созданию InitialContext, для обращения к session bean из web-уровня. Как грамотно это делать? Допустим есть несколько сессион бинов. Для обращения к ним с разных страниц правльно использовать новый экземпляр InitialContext, те каждый раз такое:
На одной странице
Код: plaintext
1.
2.
3.
	Context context =  new  InitialContext();
	UserLogon userLogon = (UserLogon) context.lookup("UserLogonImpl/remote");
        userLogon.method1();

На второй странице
Код: plaintext
1.
2.
3.
	Context context =  new  InitialContext();
	UserLogon userLogon = (UserLogon) context.lookup("UserLogonImpl/remote");
        userLogon.method2();

Или правильно использовать единственный экземпляр InitialContext и хранить его например в сессии? Те:
На одной странице
Код: plaintext
1.
2.
	UserLogon userLogon = (UserLogon) getCommonContext().lookup("UserLogonImpl/remote");
        userLogon.method1();

На второй странице
Код: plaintext
1.
2.
	UserLogon userLogon = (UserLogon) getCommonContext().lookup("UserLogonImpl/remote");
        userLogon.method2();
...
Рейтинг: 0 / 0
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
    #34723812
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оверхедов в первом варианте незамечено
...
Рейтинг: 0 / 0
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
    #34723906
AndreySJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок. Те получение InitialContext - это не дорогостоящая операция.

А еще подскажите плиз как правильно в таком варианте использовать секьюрити. Попробую объяснить мою проблему на этом же примере.
Те, сессион бин UserLogonImpl использует анатации, регламентирующие доступ к его методам согласно ролям:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRED)
 public   class  UserLogonImpl  implements  UserLogon {
	
	@RolesAllowed({"ADMIN, BACKUP"})
	 public   Long  logon() {
		 return  1L;
	}

Пользователь use_admin\admin_password принадлежит роли ADMIN

Те для пользователя use_admin\admin_password я использую такой вызов:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
....
Properties properties =  new  Properties();
properties.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.security.jndi.JndiLoginInitialContextFactory");
properties.setProperty("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
properties.setProperty("java.naming.provider.url", "localhost:1099");
properties.setProperty(Context.SECURITY_PRINCIPAL, "user_admin");
properties.setProperty(Context.SECURITY_CREDENTIALS, "admin_password");

Context context =  new  InitialContext(properties);
UserLogon userLogon = (UserLogon) context.lookup("UserLogonImpl/remote");
....

Здесь в InitialContext надо передавать
properties.setProperty(Context.SECURITY_PRINCIPAL, "user_admin");
properties.setProperty(Context.SECURITY_CREDENTIALS, "admin_password");
чтобы знать какой роли принадлежит пользователь и соответственно к каким медом ему разрешен

Аналогично для других пользователей. Те здесь мне приходиться явно в коде забивать Context.SECURITY_PRINCIPAL, Context.SECURITY_CREDENTIALS в properties прежде чем создать InitialContext и я не могу использовать jndi.properties. Может есть более красивое решение ?
...
Рейтинг: 0 / 0
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
    #34724006
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JAAS это весело. может поможет
...
Рейтинг: 0 / 0
5 сообщений из 55, страница 3 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB3 + JBoss: простой пример по книжке, помогите разобраться...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]