我们知道,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]
[@more@]
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]
[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9650775/viewspace-921916/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9650775/viewspace-921916/
190

被折叠的 条评论
为什么被折叠?



