PHPackages                             zareismail/nova-trust - 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. zareismail/nova-trust

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

zareismail/nova-trust
=====================

A Laravel Nova tool for `ACL` based on `laratrust` package.

0.3.0(5y ago)53704[1 issues](https://github.com/zareismail/nova-trust/issues)MITPHPPHP &gt;=7.1.0

Since Aug 25Pushed 5y ago1 watchersCompare

[ Source](https://github.com/zareismail/nova-trust)[ Packagist](https://packagist.org/packages/zareismail/nova-trust)[ RSS](/packages/zareismail-nova-trust/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (1)Versions (6)Used By (0)

Nova Trust
==========

[](#nova-trust)

Nova Trust is a package that based on [Laratrust](https://laratrust.santigarcor.me); a laravel package, that providing user ACL.

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

[](#installation)

Install the package in a Laravel Nova project via Composer:

```
composer require zareismail/nova-trust
```

Publish the `nova-trust` publishable files:

```
php artisan vendor:publish --tag="nova-trust"
```

This command publishing `views`, `config`, `lang` and database `migrations` into the compatible path. Also, you can publish it separately by the following commands:

```
php artisan vendor:publish --tag="nova-trust-config"
```

```
php artisan vendor:publish --tag="nova-trust-lang"
```

```
php artisan vendor:publish --tag="nova-trust-views"
```

```
php artisan vendor:publish --tag="nova-trust-migrations"
```

After publishing; You should run the database migration(s):

```
php artisan migrate
```

Then Register the tool by the `tools` method of the `NovaServiceProvider`:

```
// in app/Providers/NovaServiceProvider.php

public function tools()
{
    return [
        // ...
        new \NovaTrust\NovaTrust
    ];
}
```

At the end, you should insert `\NovaTrust\Concerns\InteractsWithNovaTrust` trait in the users model.

Configuration
-------------

[](#configuration)

### Configuration File

[](#configuration-file)

In your `config/nova-trust.php` file you will find all the package configurations that you can customize

### Teams Feature

[](#teams-feature)

If you want to use the team's feature; that allows you to attach `roles` and `permissions` to a user depending on a team, you must change the `teams_strict_check` key value to `true` in your `config/nova-trust.php` file.

### Multiple User Resources

[](#multiple-user-resources)

In the `config/nova-trust.php` file you will find an `user_resources` array, it contains the information about the multiple user resources and the name of the relationships inside the Role and Permission models. For example:

```
user_resources' => [
    'users' => 'App\Nova\User',
],

```

### Developer Access

[](#developer-access)

After installation you will saw `403` error; for solving this situation; you can define `isDeveloper` method in `user` model that should return `true` value; that cause the user can access to anything.

### Define New Permission

[](#define-new-permission)

This package uses the `abilities` and `policies public methods`, for defining permissions.
So for define new permission, you should follow laravel [Authorization](https://laravel.com/docs/5.8/authorization) docs.

By Default; exists some reserved permission for `superior` access that's names are: `view Any`, `view`, `create`, `update`, `delete`, `attach`, `detach`, `forceDelete`, `add`.

that means if attach one of the `superior` permission to a `role` or `user`; the user will have permission to do the action for all models. for example; when attached `create` permission to a user; the user can create `anything`.

Also, there exist some `ownership` permissions that attaching one of them to user cause user just access to own resource. for example, when attached `updateOwn` permission to a user its can just update resources that created.

License
-------

[](#license)

Nova Trust is open-sourced software licensed under the [MIT license](LICENSE.md).

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 69.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~95 days

Total

5

Last Release

2069d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/188c6af1615930311adb86de0f0f1e9241b3306d8f7680c385caa6aa0810ca48?d=identicon)[zareismail](/maintainers/zareismail)

---

Top Contributors

[![zareismail](https://avatars.githubusercontent.com/u/23401061?v=4)](https://github.com/zareismail "zareismail (9 commits)")[![saiik](https://avatars.githubusercontent.com/u/5637979?v=4)](https://github.com/saiik "saiik (4 commits)")

---

Tags

laravelaclpermissionnovarolegatePolicynova-trust

### Embed Badge

![Health badge](/badges/zareismail-nova-trust/health.svg)

```
[![Health](https://phpackages.com/badges/zareismail-nova-trust/health.svg)](https://phpackages.com/packages/zareismail-nova-trust)
```

###  Alternatives

[sereny/nova-permissions

Laravel Nova - Roles &amp; Permissions

86388.6k1](/packages/sereny-nova-permissions)[efficiently/authority-controller

AuthorityController is an PHP authorization library for Laravel 5 which restricts what resources a given user is allowed to access.

15433.2k](/packages/efficiently-authority-controller)[dlnsk/h-rbac

Based on native Laravel's gates and policies. Hierarchical RBAC with callbacks.

378.3k](/packages/dlnsk-h-rbac)[orchestra/auth

Auth Component for Orchestra Platform

24108.5k3](/packages/orchestra-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
