2014-03-06 47 views
0

我已經制作了一個可以正常工作的休息應用程序。在JAAS的策略文件中授予URL權限

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 

@Path("/helloworld") 
public class HelloWorldResource 
{ 

    @GET 
    public String getMessage() 
    { 
     return "Hello World!"; 
    } 
} 

我想用JAAS.There從客戶端調用這兩個校長即UserPrincipal和SystemAdminPrincipal.I要調用Web服務時,主要是SystemAdminPrincipal.I正在使用URLPermission准予許可和Apache的HttpClient執行get方法。該政策文件是

grant Principal UserPrincipal "user" 
{ 

}; 

grant Principal SysAdminPrincipal "sysadmin" 
{ 
    permission java.net.URLPermission "http://localhost:8080/HelloWorldREST/helloworld","GET"; 

}; 

但我遇到甚至SystemAdminPrincipal.Probably安全例外URLPermission的用法是錯誤的是我case.Could有人點如何正確提前使用URLPermission.Thanks。

回答

2

策略文件應在授予URLPermission之前授予套接字許可權。策略文件應該是。

grant Principal SysAdminPrincipal "sysadmin" 
{ 

    permission java.net.SocketPermission "127.0.0.1:8080","connect,resolve"; 
    permission java.net.URLPermission "http://localhost:8080/HelloWorldREST/helloworld","GET"; 
}; 

grant Principal UserPrincipal "user" 
{ 

};