У меня есть Stateless боб, где я хочу, чтобы разрешить доступ только к пользователю под названием «TestUser»EJB 3.1 Аутентификация на замок до
Я выставиться аннотацию, как написано ниже:
@Stateless
@DeclareRoles("TestUser")
public class LibraryBean implements LibraryIFace {
@Override
public void setName(String name){
sb.setName(name);
}
@Override
public String getName(){
return sb.getName();
}
@EJB
private SingIFace sb;
}
Сервлет делает блокировку бобов и возвращает имя.
Я хочу, чтобы сервлет должен был войти в систему как TestUser после получения имени от bean. Настоящий пользователь, вызывающий сервлет, не должен видеть ни одного окна сообщения или не вводить пользователя/пароль.
Это возможно?
UPDATE Что я имею в виду, что я нужен EJB будет проверять соединения, чтобы о отклонять в базе пользователя/PSW пары, или что-то вроде этого.
Спасибо за ответ, у меня есть 2 вопроса о вашем коде. Я должен реализовать его в проекте, где живет боб, не так ли? Что должен сделать клиент для аутентификации? –
1.- По крайней мере, перехватчик должен «видеть» объявление @interface 2. Контроллер, обрабатывающий процесс log.in, должен помещать роль пользователя в сеанс HTTP, чтобы его можно было проверить в EJB позже на – Victor
Есть ли способ убедиться в том, кто вызывает EJB? Мне нужно, чтобы только мой модуль должен иметь доступ к моему EJB и отклонять все другие соединения. –