1. Go to this page and download the library: Download mouf/security.rightsservice library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mouf / security.rightsservice example snippets
interface RightsServiceInterface {
/**
* Returns true if the current user has the right passed in parameter.
* A scope can be optionnally passed.
* A scope can be anything from a string to an object. If it is an object,
* it must be serializable (because it will be stored in the session).
*
* @param string $right
* @param mixed $scope
*/
public function isAllowed($right, $scope = null);
/**
* Returns true if the user whose id is $user_id has the $right.
* A scope can be optionnally passed.
* A scope can be anything from a string to an object. If it is an object,
* it must be serializable (because it will be stored in the session).
*
* @param string $user_id
* @param string $right
* @param mixed $scope
*/
public function isUserAllowed($user_id, $right, $scope = null);
/**
* Rights are cached in session, this function will purge the rights in session.
* This can be useful if you know the rights previously fetched for
* the current user will change.
*
*/
public function flushRightsCache();
/**
* If the user has not the requested right, this function will
* redirect the user to an error page (or a login page...)
*
* @param string $right
* @param mixed $scope
*/
public function redirectNotAuthorized($right, $scope = null);
}
/**
* Daos implementing this interface can be used to query the database for the list of rights
* a user has.
* The Dao will return objects implementing the RightInterface.
*
*/
interface RightsDaoInterface {
/**
* Returns a list of all the rights for the user passed in parameter.
*
* @param string $user_id
* @return array<RightInterface>
*/
public function getRightsForUser($user_id);
/**
* Returns the RightInterface object associated to the user (or null if the
* user has no such right).
*
* @param string $user_id
* @param string $right
* @return RightInterface
*/
public function getRightForUser($user_id, $right);
}
/**
* Objects implementing this interface represent a basic right a user has.
* For instance: right to display a button, right to access a webpage, right to perform some action...
* A right can have a scope associated.
* A scope can be anything from a string to an object, but it must be serializable (because
* some services can cache it, for instance in the Session).
*
*/
interface RightInterface {
/**
* Returns the name for that right.
*
* @return string
*/
public function getName();
/**
* Returns an array of scopes this right has.
* If null, the right has a global scope on all the application.
*
* @return array<mixed>
*/
public function getScopes();
/**
* Returns true if the right applies to the scope passed in parameter, false otherwise.
*
* @return boolean
*/
public function hasScope($scope);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.