Download the PHP package machuga/authority without Composer

On this page you can find all versions of the php package machuga/authority. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package authority

THIS REPO IS NOW DEPRECATED / EOL'ED

It's been a fun few years, but I no longer use PHP in the capacity I find necessary to maintain Authority. It's been this way for a bit, but I'll simply never get a chance to release Authority 3. If someone else would like to take over this project ping me (@machuga) in an Issue. Otherwise I highly recommend checking out beatswitch/lock or sentry/cartalyst as your alternative ACL library.

Thanks for your support!

Authority

A simple and flexible activity/resource based authorization system for PHP

Build Status

Installation via Composer

Add Authority to your composer.json file to require Authority

And install via composer

composer install

Further installation information is available in docs/install.md

Introduction

Authority is an authorization system for PHP that focuses more on the concept of activities and resources rather than roles. Using different user roles is still completely possible and often needed, but rather than determining functionality based on roles throughout your app, Authority allows you to simply check if a user is allowed to perform an action on a given resource or activity.

Let's take an example of editing a Post $post.

First we'll use standard role-based authorization checks for roles that may be able to delete a post

While this certainly works, it is highly prone to needing changes, and could get quite large as roles increase.

Let's instead see how simply checking against an activity on a resourse looks.

Instead of littering the codebase with several conditionals about user roles, we only need to write out a conditional that reads like "if the current user can edit this post".

Default behavior

Two important default behaviors of Authority to keep in mind

  1. Unspecified rules are denied - if you check a rule that has not been set, Authority will deny the activity.
  2. Rules are evaluated in order of declaration - last rule takes precedence.

Basic usage

Authority is intended to be instantiated once per application (though supports multiple instances). It works well with an IoC (Inversion of Control) container that supports singleton access, like Laravel's IoC, or by using standard dependency injection. You may assign rules prior to your app authorizing resources, or add at any time.

The Authority constructor requires at least one argument - the object that represents the current user. We'll cover the second optional argument later.

If we run the above script, we will see:

I can read about any user based on class!
I can read about another user!
I can delete my own user, so you see me :)

Intermediate Usage

Coming soon

Advanced Usage

Coming soon


All versions of authority with dependencies

PHP Build Version
Package Version
Requires php Version >=5.4.0
illuminate/events Version ~5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package machuga/authority contains the following files

Loading the files please wait ....