java在JAAS的策略文件中授予URL权限
我已经做了一个rest应用程序,它本身运行良好
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Path("/helloworld")
public class HelloWorldResource
{
@GET
public String getMessage()
{
return "Hello World!";
}
}
我想使用JAAS从客户端调用它。有两个主体,即UserPrincipal和SystemAdminPrincipal。我想在主体为SystemAdminPrincipal时调用web服务。我使用urlpowpermission授予权限,使用apachehttpclient执行get方法。策略文件是
grant Principal UserPrincipal "user"
{
};
grant Principal SysAdminPrincipal "sysadmin"
{
permission java.net.URLPermission "http://localhost:8080/HelloWorldREST/helloworld","GET";
};
但即使对于SystemAdminPrincipal,我也遇到了安全性异常。我的情况可能是URLPermission的使用有问题。有人能指出如何正确使用URL权限吗。提前谢谢
# 1 楼答案
策略文件应在授予URL权限之前授予套接字权限。策略文件应为