PHPackages                             madtechservices/laravelteams - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. madtechservices/laravelteams

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

madtechservices/laravelteams
============================

Laravel package to manage team functionality and operate with user permissions.

3.0.2(10mo ago)03MITPHPPHP ^8.1

Since Jan 18Pushed 10mo agoCompare

[ Source](https://github.com/madtechservices/LaravelTeams)[ Packagist](https://packagist.org/packages/madtechservices/laravelteams)[ RSS](/packages/madtechservices-laravelteams/feed)WikiDiscussions 3.0 Synced 1mo ago

READMEChangelog (2)Dependencies (5)Versions (21)Used By (0)

madtechservices/LaravelTeams
============================

[](#madtechserviceslaravelteams)

Modified to work in conjunction with Spatie Permissions without conflict. Spatie for general permissions and LaravelTeams for teams related permissions. A work in progress and will move away from the original pacage. A Laravel package for managing teams and user permissions, supporting multi-tenant dynamic roles, role groups, and team-specific permissions.

Users can be organized into groups within teams, each with custom permissions and abilities. Permissions assigned to a user group override individual user permissions within a team.

Additionally, users can be added to a global group to grant them access across all teams with the group’s permissions. This feature is ideal for scenarios like providing support across multiple teams without the need to add users to each team individually.

Note

The documentation for this package is currently being written. For now, please refer to this readme for information on the functionality and usage of the package.

- [Requirements](#requirements)
- [Schema](#schema)
- [Installation](#installation)
- [Teams](#teams)
- [Users](#users)
- [Roles &amp; Permissions](#roles--permissions)
    - [Authorization](#authorization)
- [Abilities](#abilities)
    - [Adding an Ability](#adding-an-ability)
    - [Checking an Ability](#checking-an-ability)
        - [Access Levels](#access-levels)
        - [How Access Logic Works](#how-access-logic-works)
    - [Forbidding an Ability](#forbidding-an-ability)
- [Groups](#groups)
    - [Usage Scope](#usage-scope)
    - [Groups Managing](#groups-managing)
    - [Groups Abilities](#groups-permissions)
- [Middlewares](#middlewares)
    - [Middleware Configuration](#middleware-configuration)
    - [Middleware Routes](#middleware-routes)
    - [Middleware Usage](#middleware-usage)
- [License](#license)

Requirements
------------

[](#requirements)

`PHP >= 8.1` and `Laravel 8.x or higher`

Schema
------

[](#schema)

[![Schema](schema.png "Title")](schema.png)

Installation
------------

[](#installation)

```
composer require madtechservices/LaravelTeams
```

Always **do backups**, next command **may overwrite your actual data.**

```
php artisan LaravelTeams:install
```

Run the migrations

```
php artisan migrate
```

Note

If you wish to use custom foreign keys and table names, make changes to config `config/teams.php` before running migrations.

Then, add the `HasTeams` trait to your existing `User` model.

```
