예제 #1
0
 /**
  * Create auth adapter
  *
  * @param string $rolefile File containing XML with users and roles
  */
 public function __construct($rolefile)
 {
     $this->_acl = new Zend_Acl();
     $xml = \ZendXml\Security::scanFile($rolefile);
     /*
     Roles file format:
      <roles>
        <role id=”admin”>
             <user name=”user1” password=”pwd”/>
         </role>
        <role id=”hr”>
             <user name=”user2” password=”pwd2”/>
         </role>
     </roles>
     */
     foreach ($xml->role as $role) {
         $this->_acl->addRole(new Zend_Acl_Role((string) $role["id"]));
         foreach ($role->user as $user) {
             $this->_users[(string) $user["name"]] = array("password" => (string) $user["password"], "role" => (string) $role["id"]);
         }
     }
 }
 public function testScanFile()
 {
     $file = tempnam(sys_get_temp_dir(), 'ZendXml_Security');
     file_put_contents($file, $this->getXml());
     $result = XmlSecurity::scanFile($file);
     $this->assertTrue($result instanceof SimpleXMLElement);
     $this->assertEquals($result->result, 'test');
     unlink($file);
 }