📅  最后修改于: 2020-11-16 06:24:06             🧑  作者: Mango
安全是任何企业级应用程序的主要关注点。它包括标识用户或访问应用程序的系统。基于标识,它允许或拒绝对应用程序内资源的访问。 EJB容器管理标准的安全性问题,或者可以对其进行自定义以处理任何特定的安全性问题。
认证-这是确保访问系统或应用程序的用户经过验证为真实的过程。
授权-这是确保真实用户具有访问系统资源的正确权限级别的过程。
用户-用户代表访问应用程序的客户端或系统。
用户组-用户可以是具有某些权限的组的一部分,例如管理员组。
用户角色-角色定义权限级别,用户具有访问系统资源的权限。
EJB 3.0已指定EJB容器实现的以下安全性属性/注释。
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
}
}
映射角色和用户分组在配置文件中。
student
student-group
librarian
librarian-group