2017-09-04 94 views
0

我们使用OpenAM(强制12)及其ACL的策略决策。我们如何通过REST API或客户端SDK获取资源列表(Uri +动词)?我们添加了一些使用SDK的补充REST,我们也可以添加资源列表。从OpenAM获取资源列表

回答

1

使用下面的IP就可以得到完整的数据

Get - http://youurl/openam/xacml/policies 
Header - "iplanetDirectoryPro" = "Token value" 

之后,你需要过滤的“资源”相对于“应用程序”。

function get_resources() { 
    $resources = array(); 
    if(isset($_SESSION['OpenAmSession']['sso_token']) || !empty($_SESSION['OpenAmSession']['sso_token'])) { 
     $curl = new Curl(); 
     $curl->setHeader('iPlanetDirectoryPro', $_SESSION['OpenAmSession']['sso_token']); 
     $curl->setHeader('Content-Type', 'application/json'); 
     $curl->post(OPENAM_BASEURL.'/json/policies?_action=evaluate', array(
          'resources' => array("your URL"), 
          'application' => 'Application Name', 
     )); 
     if ($curl->error) { 
      //echo $curl->error_message; 
     } else { 
      if(isset($curl->response[0]->attributes->resources)) { 
       $resources = $curl->response[0]->attributes->resources; 
      } 
     } 
    } 
    return $resources; 
}