本文整理汇总了PHP中Symfony\Component\Security\Acl\Model\SecurityIdentityInterface::getClass方法的典型用法代码示例。如果您正苦于以下问题:PHP SecurityIdentityInterface::getClass方法的具体用法?PHP SecurityIdentityInterface::getClass怎么用?PHP SecurityIdentityInterface::getClass使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Security\Acl\Model\SecurityIdentityInterface
的用法示例。
在下文中一共展示了SecurityIdentityInterface::getClass方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: equals
/**
* {@inheritdoc}
*/
public function equals(SecurityIdentityInterface $sid)
{
if (!$sid instanceof self) {
return false;
}
return $this->id === $sid->getId() && $this->class === $sid->getClass();
}
示例2: equals
/**
* {@inheritDoc}
*/
public function equals(SecurityIdentityInterface $sid)
{
if (!$sid instanceof UserSecurityIdentity) {
return false;
}
return $this->username === $sid->getUsername() && $this->class === $sid->getClass();
}
示例3: 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;
}
示例4: 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));
}
示例5: 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));
}
示例6: 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.');
}
}
}
示例7: getSecurityIdentityId
/**
* @param SecurityIdentityInterface $sid
*
* @return mixed
*/
protected function getSecurityIdentityId(SecurityIdentityInterface $sid)
{
if ($sid instanceof UserSecurityIdentity) {
$identifier = $sid->getClass() . '-' . $sid->getUsername();
$username = true;
} elseif ($sid instanceof RoleSecurityIdentity) {
//skip Role SID because we didn't share records for Role
return null;
} elseif ($sid instanceof BusinessUnitSecurityIdentity) {
$identifier = $sid->getClass() . '-' . $sid->getId();
$username = false;
} else {
throw new \InvalidArgumentException('$sid must either be an instance of UserSecurityIdentity or RoleSecurityIdentity ' . 'or BusinessUnitSecurityIdentity.');
}
return $this->getObjectManager()->getRepository('OroSecurityBundle:AclSecurityIdentity')->findOneBy(['identifier' => $identifier, 'username' => $username]);
}
示例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;
}
示例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));
}
示例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.');
}
}