Initial commit with Symfony 2.1+Vendors
Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>
This commit is contained in:
59
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/PreAuthorize.php
vendored
Normal file
59
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/PreAuthorize.php
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright 2011 Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace JMS\SecurityExtraBundle\Annotation;
|
||||
|
||||
use JMS\SecurityExtraBundle\Exception\InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Annotation for expression-based access control.
|
||||
*
|
||||
* @Annotation
|
||||
* @Target("METHOD")
|
||||
*
|
||||
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*/
|
||||
final class PreAuthorize
|
||||
{
|
||||
/**
|
||||
* @Required
|
||||
* @var string
|
||||
*/
|
||||
public $expr;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
if (0 === func_num_args()) {
|
||||
return;
|
||||
}
|
||||
$values = func_get_arg(0);
|
||||
|
||||
if (isset($values['value'])) {
|
||||
$values['expr'] = $values['value'];
|
||||
}
|
||||
if (!isset($values['expr'])) {
|
||||
throw new InvalidArgumentException('The "expr" attribute must be set for annotation @PreAuthorize.');
|
||||
}
|
||||
|
||||
if (!is_string($values['expr'])) {
|
||||
throw new InvalidArgumentException(sprintf('The "expr" attribute of annotation @PreAuthorize must be a string, but got "%s".', gettype($values['expr'])));
|
||||
}
|
||||
|
||||
$this->expr = $values['expr'];
|
||||
}
|
||||
}
|
42
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/RunAs.php
vendored
Normal file
42
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/RunAs.php
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright 2011 Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace JMS\SecurityExtraBundle\Annotation;
|
||||
|
||||
use JMS\SecurityExtraBundle\Exception\InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* @Annotation
|
||||
* @Target("METHOD")
|
||||
*/
|
||||
final class RunAs
|
||||
{
|
||||
public $roles;
|
||||
|
||||
public function __construct(array $values)
|
||||
{
|
||||
if (isset($values['value'])) {
|
||||
$values['roles'] = $values['value'];
|
||||
}
|
||||
if (!isset($values['roles'])) {
|
||||
throw new InvalidArgumentException('"roles" must be defined for RunAs annotation.');
|
||||
}
|
||||
|
||||
$this->roles = array_map('trim', explode(',', $values['roles']));
|
||||
}
|
||||
}
|
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright 2011 Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace JMS\SecurityExtraBundle\Annotation;
|
||||
|
||||
/**
|
||||
* This must be declared on classes which inherit from classes that have
|
||||
* requested method invocation securing capabilities.
|
||||
*
|
||||
* It indicates to the analyzer that the developer is aware of these security
|
||||
* restrictions, and has applied them to the root class in an appropriate
|
||||
* fashion.
|
||||
*
|
||||
* We cannot do this automatically without properly analyzing the control flow,
|
||||
* and in some cases it is not possible at all. See the following example:
|
||||
*
|
||||
* <code>
|
||||
* // child class
|
||||
* public function editComment($commentId)
|
||||
* {
|
||||
* // retrieve comment from database
|
||||
* $comment = $this->entityManager->find($commentId);
|
||||
*
|
||||
* return parent::editComment($comment);
|
||||
* }
|
||||
*
|
||||
* // base class which is inherited from
|
||||
* /**
|
||||
* * @SecureParam(name="comment", permissions="EDIT")
|
||||
* *\/
|
||||
* public function editComment(Comment $comment)
|
||||
* {
|
||||
* // do some supposedly secure action
|
||||
* }
|
||||
* <code>
|
||||
*
|
||||
* The above example can be rewritten so that we can apply security checks
|
||||
* automatically:
|
||||
*
|
||||
* <code>
|
||||
* // child class
|
||||
* public function editComment($commentId)
|
||||
* {
|
||||
* // retrieve comment from database
|
||||
* $comment = $this->entityManager->find($commentId);
|
||||
*
|
||||
* return $this->doEditComment($comment);
|
||||
* }
|
||||
*
|
||||
* // base class which is inherited from
|
||||
* /**
|
||||
* * @SecureParam(name="comment", permissions="EDIT")
|
||||
* *\/
|
||||
* protected function doEditComment(Comment $comment)
|
||||
* {
|
||||
* // do some secure action
|
||||
* }
|
||||
* </code>
|
||||
*
|
||||
* @Annotation
|
||||
* @Target("METHOD")
|
||||
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*/
|
||||
final class SatisfiesParentSecurityPolicy
|
||||
{
|
||||
}
|
45
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/Secure.php
vendored
Normal file
45
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/Secure.php
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright 2011 Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace JMS\SecurityExtraBundle\Annotation;
|
||||
|
||||
use JMS\SecurityExtraBundle\Exception\InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Represents a @Secure annotation.
|
||||
*
|
||||
* @Annotation
|
||||
* @Target("METHOD")
|
||||
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*/
|
||||
final class Secure
|
||||
{
|
||||
public $roles;
|
||||
|
||||
public function __construct(array $values)
|
||||
{
|
||||
if (isset($values['value'])) {
|
||||
$values['roles'] = $values['value'];
|
||||
}
|
||||
if (!isset($values['roles'])) {
|
||||
throw new InvalidArgumentException('You must define a "roles" attribute for each Secure annotation.');
|
||||
}
|
||||
|
||||
$this->roles = array_map('trim', explode(',', $values['roles']));
|
||||
}
|
||||
}
|
48
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/SecureParam.php
vendored
Normal file
48
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/SecureParam.php
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright 2011 Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace JMS\SecurityExtraBundle\Annotation;
|
||||
|
||||
use JMS\SecurityExtraBundle\Exception\InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Represents a @SecureParam annotation.
|
||||
*
|
||||
* @Annotation
|
||||
* @Target("METHOD")
|
||||
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*/
|
||||
final class SecureParam
|
||||
{
|
||||
public $name;
|
||||
public $permissions;
|
||||
|
||||
public function __construct(array $values)
|
||||
{
|
||||
if (!isset($values['name'])) {
|
||||
throw new InvalidArgumentException('You must define a "name" attribute for each SecureParam annotation.');
|
||||
}
|
||||
if (!isset($values['permissions'])) {
|
||||
throw new InvalidArgumentException('You must define a "permissions" attribute for each SecureParam annotation.');
|
||||
}
|
||||
|
||||
$this->name = $values['name'];
|
||||
|
||||
$this->permissions = array_map('trim', explode(',', $values['permissions']));
|
||||
}
|
||||
}
|
45
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/SecureReturn.php
vendored
Normal file
45
vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/Annotation/SecureReturn.php
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright 2011 Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace JMS\SecurityExtraBundle\Annotation;
|
||||
|
||||
use JMS\SecurityExtraBundle\Exception\InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Represents a @SecureReturn annotation.
|
||||
*
|
||||
* @Annotation
|
||||
* @Target("METHOD")
|
||||
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
||||
*/
|
||||
final class SecureReturn
|
||||
{
|
||||
public $permissions;
|
||||
|
||||
public function __construct(array $values)
|
||||
{
|
||||
if (isset($values['value'])) {
|
||||
$values['permissions'] = $values['value'];
|
||||
}
|
||||
if (!isset($values['permissions'])) {
|
||||
throw new InvalidArgumentException('You must define a "permissions" attribute for each SecureReturn annotation.');
|
||||
}
|
||||
|
||||
$this->permissions = array_map('trim', explode(',', $values['permissions']));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user