我們知道,JAAS包括了Authentication和Authorization,下面我們分別看看:
Authentication分析如下:
1)類的annotate如下
@SecurityDomain("other")
public class CalculatorBean implements Calculator
這樣將從users.properties中讀取Authentication信息:
kabir=validpassword
2)使用的jboss類如下:
import org.jboss.security.SecurityAssociation;
import org.jboss.security.SimplePrincipal;
3)SimplePrincipal用來設置驗證原則:
SecurityAssociation.setPrincipal(new SimplePrincipal("kabir"));
4)SecurityAssociation用來根據原則進行驗證:
SecurityAssociation.setCredential("invalidpassword".toCharArray());
5)驗證不通過,會拋exception
Authorization分析如下:
1)方法中指明角色
@MethodPermissions({"teacher"})
public int divide(int x, int y)
{
return x / y;
}
2)roles.properties中設置角色
kabir=student
3)運行中判斷權限,並提示:
[java] Insufficient method permissions, principal=kabir, interface=org.jboss.ejb3.EJBContainerInvocation, requiredR
oles=[teacher], principalRoles=[student]