2017-09-04 2 views
0

Nous utilisons OpenAM (Forcément 12) et sa décision de politique pour ACL. Comment pouvons-nous obtenir la liste des ressources (ver + Uri) par l'API REST ou le SDK client? Nous avons ajouté quelques REST complémentaires en utilisant SDK, et nous sommes également en mesure d'ajouter une liste de ressources.Obtenir la liste de ressources d'OpenAM

Répondre

1

en utilisant suivant IP, vous pouvez obtenir des données complètes

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

Après que vous avez besoin de filtrer les « ressources » par rapport à « l'application ».

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; 
}