Безопасность — главная проблема любого приложения уровня предприятия. Он включает в себя идентификацию пользователя (ей) или системы, обращающейся к приложению. Основываясь на идентификации, он разрешает или запрещает доступ к ресурсам в приложении. Контейнер EJB управляет стандартными проблемами безопасности или может быть настроен для решения каких-либо конкретных проблем безопасности.
Важные условия безопасности
-
Аутентификация — это процесс, обеспечивающий аутентификацию пользователя, обращающегося к системе или приложению.
-
Авторизация — это процесс, гарантирующий, что аутентичный пользователь имеет право доступа к системным ресурсам.
-
Пользователь — Пользователь представляет клиента или систему, которая обращается к приложению.
-
Группы пользователей — пользователи могут входить в группу с определенными правами доступа. Например, группа администраторов.
-
Роли пользователя — Роли определяют уровень полномочий, которые пользователь имеет или права доступа к системному ресурсу.
Аутентификация — это процесс, обеспечивающий аутентификацию пользователя, обращающегося к системе или приложению.
Авторизация — это процесс, гарантирующий, что аутентичный пользователь имеет право доступа к системным ресурсам.
Пользователь — Пользователь представляет клиента или систему, которая обращается к приложению.
Группы пользователей — пользователи могут входить в группу с определенными правами доступа. Например, группа администраторов.
Роли пользователя — Роли определяют уровень полномочий, которые пользователь имеет или права доступа к системному ресурсу.
Контейнер Управляемая безопасность
EJB 3.0 указал следующие атрибуты / аннотации безопасности, которые реализуют EJB-контейнеры.
-
DeclareRoles — указывает, что класс будет принимать объявленные роли. Аннотации применяются на уровне класса.
-
RolesAllowed — указывает, что метод может быть доступен пользователю с указанной ролью. Может применяться на уровне класса, в результате чего все методы класса могут быть доступны для покупки указанной роли.
-
PermitAll — указывает, что бизнес-метод доступен для всех. Это может быть применено в классе, а также на уровне метода.
-
DenyAll — указывает, что бизнес-метод не доступен ни одному из пользователей, указанных на уровне класса или метода.
DeclareRoles — указывает, что класс будет принимать объявленные роли. Аннотации применяются на уровне класса.
RolesAllowed — указывает, что метод может быть доступен пользователю с указанной ролью. Может применяться на уровне класса, в результате чего все методы класса могут быть доступны для покупки указанной роли.
PermitAll — указывает, что бизнес-метод доступен для всех. Это может быть применено в классе, а также на уровне метода.
DenyAll — указывает, что бизнес-метод не доступен ни одному из пользователей, указанных на уровне класса или метода.
пример
package com.tutorialspoint.security.required; import javax.ejb.* @Stateless @DeclareRoles({"student" "librarian"}) public class LibraryBean implements LibraryRemote { @RolesAllowed({"librarian"}) public void delete(Book book) { //delete book } @PermitAll public void viewBook(Book book) { //view book } @DenyAll public void deleteAll() { //delete all books } }
Конфигурация безопасности
Роли карты и группы пользователей в файле конфигурации.