当前位置: 首页>>代码示例>>PHP>>正文


PHP SecurityIdentityInterface::getRole方法代码示例

本文整理汇总了PHP中Symfony\Component\Security\Acl\Model\SecurityIdentityInterface::getRole方法的典型用法代码示例。如果您正苦于以下问题:PHP SecurityIdentityInterface::getRole方法的具体用法?PHP SecurityIdentityInterface::getRole怎么用?PHP SecurityIdentityInterface::getRole使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Symfony\Component\Security\Acl\Model\SecurityIdentityInterface的用法示例。


在下文中一共展示了SecurityIdentityInterface::getRole方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: deleteSid

 /**
  * Deletes the given security identity.
  *
  * @param SID $sid
  */
 public function deleteSid(SID $sid)
 {
     if ($this->isAclEnabled()) {
         if ($sid instanceof RoleSecurityIdentity) {
             /**
              * Marking removed Role as Disabled instead of delete, because straight deleting role identity breaks
              * ace indexes
              * TODO: Create a job to remove marked role identities and rebuild ace indexes
              */
             $disabledSid = new RoleSecurityIdentity($sid->getRole() . uniqid(self::ROLE_DISABLED_FLAG));
             $this->aclProvider->updateSecurityIdentity($disabledSid, $sid->getRole());
         } else {
             $this->aclProvider->deleteSecurityIdentity($sid);
         }
     }
 }
开发者ID:Maksold,项目名称:platform,代码行数:21,代码来源:AclSidManager.php

示例2: equals

 /**
  * {@inheritDoc}
  */
 public function equals(SecurityIdentityInterface $sid)
 {
     if (!$sid instanceof RoleSecurityIdentity) {
         return false;
     }
     return $this->role === $sid->getRole();
 }
开发者ID:TuxCoffeeCorner,项目名称:tcc,代码行数:10,代码来源:RoleSecurityIdentity.php

示例3: equals

 /**
  * {@inheritdoc}
  */
 public function equals(SecurityIdentityInterface $sid)
 {
     if (!$sid instanceof JournalRoleSecurityIdentity) {
         return false;
     }
     return $this->role === $sid->getRole() && (int) $this->journal === (int) $sid->getJournal();
 }
开发者ID:necatikartal,项目名称:ojs,代码行数:10,代码来源:JournalRoleSecurityIdentity.php

示例4: fromAclIdentity

 /**
  * Transform a given ACL security identity into a SecurityIdentity model.
  *
  * If there is no model entry given, a new one will be created and saved to the database.
  *
  * @throws \InvalidArgumentException
  *
  * @param \Symfony\Component\Security\Acl\Model\SecurityIdentityInterface $aclIdentity
  * @param \PropelPDO                                                      $con
  *
  * @return \Propel\PropelBundle\Model\Acl\SecurityIdentity
  */
 public static function fromAclIdentity(SecurityIdentityInterface $aclIdentity, \PropelPDO $con = null)
 {
     if ($aclIdentity instanceof UserSecurityIdentity) {
         $identifier = $aclIdentity->getClass() . '-' . $aclIdentity->getUsername();
         $username = true;
     } elseif ($aclIdentity instanceof RoleSecurityIdentity) {
         $identifier = $aclIdentity->getRole();
         $username = false;
     } else {
         throw new \InvalidArgumentException('The ACL identity must either be an instance of UserSecurityIdentity or RoleSecurityIdentity.');
     }
     $obj = SecurityIdentityQuery::create()->filterByIdentifier($identifier)->filterByUsername($username)->findOneOrCreate($con);
     if ($obj->isNew()) {
         $obj->save($con);
     }
     return $obj;
 }
开发者ID:ChazalFlorian,项目名称:enjoyPangolin,代码行数:29,代码来源:SecurityIdentity.php

示例5: getSelectSecurityIdentityIdSql

 /**
  * Constructs the SQL for selecting the primary key of a security identity.
  *
  * @param SecurityIdentityInterface $sid
  * @throws \InvalidArgumentException
  * @return string
  */
 protected function getSelectSecurityIdentityIdSql(SecurityIdentityInterface $sid)
 {
     if ($sid instanceof UserSecurityIdentity) {
         $identifier = $sid->getClass() . '-' . $sid->getUsername();
         $username = true;
     } elseif ($sid instanceof RoleSecurityIdentity) {
         $identifier = $sid->getRole();
         $username = false;
     } else {
         throw new \InvalidArgumentException('$sid must either be an instance of UserSecurityIdentity, or RoleSecurityIdentity.');
     }
     return sprintf('SELECT id FROM %s WHERE identifier = %s AND username = %s', $this->options['sid_table_name'], $this->connection->quote($identifier), $this->connection->getDatabasePlatform()->convertBooleans($username));
 }
开发者ID:rcastardo,项目名称:symfony,代码行数:20,代码来源:MutableAclProvider.php

示例6: getUpdateSecurityIdentitySql

 /**
  * Constructs the SQL for updating a security identity.
  *
  * @param SecurityIdentityInterface $sid
  * @param string $oldName
  * @throws \InvalidArgumentException
  * @return string
  */
 protected function getUpdateSecurityIdentitySql(SecurityIdentityInterface $sid, $oldName)
 {
     if ($sid instanceof UserSecurityIdentity) {
         if ($sid->getUsername() == $oldName) {
             throw new \InvalidArgumentException('There are no changes.');
         }
         $oldIdentifier = $sid->getClass() . '-' . $oldName;
         $newIdentifier = $sid->getClass() . '-' . $sid->getUsername();
         $username = true;
     } elseif ($sid instanceof RoleSecurityIdentity) {
         if ($sid->getRole() == $oldName) {
             throw new \InvalidArgumentException('There are no changes.');
         }
         $oldIdentifier = $oldName;
         $newIdentifier = $sid->getRole();
         $username = false;
     } else {
         throw new \InvalidArgumentException('$sid must either be an instance of UserSecurityIdentity, or RoleSecurityIdentity.');
     }
     return sprintf('UPDATE %s SET identifier = %s WHERE identifier = %s AND username = %s', $this->options['sid_table_name'], $this->connection->quote($newIdentifier), $this->connection->quote($oldIdentifier), $this->connection->getDatabasePlatform()->convertBooleans($username));
 }
开发者ID:noglitchyo,项目名称:pim-community-dev,代码行数:29,代码来源:MutableAclProvider.php

示例7: getSecurityIdentityQuery

 /**
  * Create an array of the security identity for inserting in the document
  *
  * @param SecurityIdentityInterface $sid
  * @throws \InvalidArgumentException
  * @return array
  */
 protected function getSecurityIdentityQuery(SecurityIdentityInterface $sid)
 {
     if ($sid instanceof UserSecurityIdentity) {
         return array('username' => $sid->getUsername(), 'class' => $sid->getClass());
     } else {
         if ($sid instanceof RoleSecurityIdentity) {
             return array('role' => $sid->getRole());
         } else {
             throw new \InvalidArgumentException('$sid must either be an instance of UserSecurityIdentity, or RoleSecurityIdentity.');
         }
     }
 }
开发者ID:Cobrowser,项目名称:MongoDBAclBundle,代码行数:19,代码来源:MutableAclProvider.php

示例8: getSidSqlRestriction

 /**
  * Constructs sql restriction based on sid specified as array and fills list
  * of used sql params to be bind in prepared statement
  *
  * @param SecurityIdentityInterface $sid            sid
  * @param array                     &$valuesForBind list of params to be bind
  *
  * @return string
  */
 private function getSidSqlRestriction(SecurityIdentityInterface $sid, &$valuesForBind)
 {
     if ($sid instanceof UserSecurityIdentity) {
         $identifier = $sid->getClass() . '-' . $sid->getUsername();
         $isUsername = true;
     } elseif ($sid instanceof RoleSecurityIdentity) {
         $identifier = $sid->getRole();
         $isUsername = false;
     } else {
         throw new InvalidArgumentException('$sid must either be an instance of UserSecurityIdentity, or RoleSecurityIdentity.');
     }
     $sidSqlRestriction = sprintf("INNER JOIN %s s ON e.security_identity_id = s.id AND s.identifier = :identifier AND s.username = :username", $this->options['sid_table_name']);
     $valuesForBind['identifier'] = ['value' => $identifier, 'type' => PDO::PARAM_STR];
     $valuesForBind['username'] = ['value' => $isUsername, 'type' => PDO::PARAM_BOOL];
     return $sidSqlRestriction;
 }
开发者ID:GlobalTradingTechnologies,项目名称:reverse-search-acl,代码行数:25,代码来源:ReverseSearchAclProvider.php

示例9: getInsertSecurityIdentitySql

 /**
  * Constructs the SQL for inserting a security identity.
  *
  * @param SecurityIdentityInterface $sid
  *
  * @throws \InvalidArgumentException
  *
  * @return string
  */
 protected function getInsertSecurityIdentitySql(SecurityIdentityInterface $sid)
 {
     if ($sid instanceof UserSecurityIdentity) {
         $identifier = $sid->getClass() . '-' . $sid->getUsername();
         $username = true;
     } elseif ($sid instanceof RoleSecurityIdentity) {
         $identifier = $sid->getRole();
         $username = false;
     } elseif ($sid instanceof JournalRoleSecurityIdentity) {
         $identifier = $sid->getIdentifier();
         $username = false;
     } else {
         throw new \InvalidArgumentException('$sid must either be an instance of UserSecurityIdentity, JournalRoleSecurityIdentity or RoleSecurityIdentity.');
     }
     return sprintf('INSERT INTO %s (identifier, username) VALUES (%s, %s)', $this->options['sid_table_name'], $this->connection->quote($identifier), $this->connection->getDatabasePlatform()->convertBooleans($username));
 }
开发者ID:beyzakokcan,项目名称:ojs,代码行数:25,代码来源:MutableAclProvider.php

示例10: getSecurityIdentifier

 /**
  * Get Security Identifier and Username flag to create SQL queries
  *
  * @param SecurityIdentityInterface $sid
  *
  * @throws \InvalidArgumentException
  *
  * @return array
  */
 protected function getSecurityIdentifier(SecurityIdentityInterface $sid)
 {
     if ($sid instanceof UserSecurityIdentity) {
         return [$sid->getClass() . '-' . $sid->getUsername(), true];
     } elseif ($sid instanceof RoleSecurityIdentity) {
         return [$sid->getRole(), false];
     } elseif ($sid instanceof BusinessUnitSecurityIdentity) {
         return [$sid->getClass() . '-' . $sid->getId(), false];
     } else {
         throw new \InvalidArgumentException('$sid must either be an instance of UserSecurityIdentity or RoleSecurityIdentity' . ' or BusinessUnitSecurityIdentity.');
     }
 }
开发者ID:kstupak,项目名称:platform,代码行数:21,代码来源:MutableAclProvider.php


注:本文中的Symfony\Component\Security\Acl\Model\SecurityIdentityInterface::getRole方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。