PHPackages                             anomaly/users-module - 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. anomaly/users-module

ActiveStreams-addon[Authentication &amp; Authorization](/categories/authentication)

anomaly/users-module
====================

Manage users, roles, and permissions.

v2.6.11(7mo ago)551.8k↑578.6%334MITPHP

Since Aug 1Pushed 5mo ago3 watchersCompare

[ Source](https://github.com/anomalylabs/users-module)[ Packagist](https://packagist.org/packages/anomaly/users-module)[ Docs](http://pyrocms.com/addons/anomaly/users-module)[ RSS](/packages/anomaly-users-module/feed)WikiDiscussions 2.6 Synced yesterday

READMEChangelogDependencies (1)Versions (241)Used By (4)

Users Module
============

[](#users-module)

*anomaly.module.users*

#### Manage users, roles, and permissions.

[](#manage-users-roles-and-permissions)

The Users Module provides comprehensive user management with role-based access control and flexible permission system.

Features
--------

[](#features)

- User management interface
- Role-based access control (RBAC)
- Fine-grained permissions
- User authentication
- Password management
- User profiles with custom fields
- Control panel integration
- User activation/suspension

Usage
-----

[](#usage)

### Accessing User Data

[](#accessing-user-data)

```
use Anomaly\UsersModule\User\Contract\UserRepositoryInterface;

$users = app(UserRepositoryInterface::class);

// Get user by ID
$user = $users->find(1);

// Get user by email
$user = $users->findByEmail('user@example.com');

// Get all users
$allUsers = $users->all();
```

### Checking Permissions

[](#checking-permissions)

```
// Check if user has permission
if (auth()->user()->hasPermission('posts.write')) {
    // User can write posts
}

// Check if user has role
if (auth()->user()->hasRole('admin')) {
    // User is admin
}
```

### In Twig

[](#in-twig)

```
{# Check authentication #}
{% if auth_check() %}
    Welcome, {{ auth_user().display_name }}!
{% endif %}

{# Check permissions #}
{% if auth_user().hasPermission('posts.write') %}
    Create Post
{% endif %}

{# Check roles #}
{% if auth_user().hasRole('admin') %}
    Admin Panel
{% endif %}
```

### Creating Users

[](#creating-users)

```
$users->create([
    'email' => 'user@example.com',
    'username' => 'johndoe',
    'password' => 'secure_password',
    'display_name' => 'John Doe'
]);
```

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

[](#requirements)

- Streams Platform ^1.10
- PyroCMS 3.10+

License
-------

[](#license)

The Users Module is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance69

Regular maintenance activity

Popularity37

Limited adoption so far

Community34

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 73.7% 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 ~15 days

Recently: every ~239 days

Total

240

Last Release

211d ago

Major Versions

v1.1.15 → v2.0.02016-02-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/3dc718dba9317e897b74dcb30e5c06bd106e1ad72b2df5242b66bcc28053fbf3?d=identicon)[anomaly](/maintainers/anomaly)

---

Top Contributors

[![RyanThompson](https://avatars.githubusercontent.com/u/1099967?v=4)](https://github.com/RyanThompson "RyanThompson (238 commits)")[![Piterden](https://avatars.githubusercontent.com/u/5930429?v=4)](https://github.com/Piterden "Piterden (17 commits)")[![fryiee](https://avatars.githubusercontent.com/u/5254791?v=4)](https://github.com/fryiee "fryiee (13 commits)")[![websemantics](https://avatars.githubusercontent.com/u/2190455?v=4)](https://github.com/websemantics "websemantics (10 commits)")[![Eighke](https://avatars.githubusercontent.com/u/2734125?v=4)](https://github.com/Eighke "Eighke (6 commits)")[![aidanwatt](https://avatars.githubusercontent.com/u/3669142?v=4)](https://github.com/aidanwatt "aidanwatt (4 commits)")[![jacksun101](https://avatars.githubusercontent.com/u/417021?v=4)](https://github.com/jacksun101 "jacksun101 (4 commits)")[![MarceauKa](https://avatars.githubusercontent.com/u/1665333?v=4)](https://github.com/MarceauKa "MarceauKa (3 commits)")[![ChristianGiupponi](https://avatars.githubusercontent.com/u/1614796?v=4)](https://github.com/ChristianGiupponi "ChristianGiupponi (2 commits)")[![huglester](https://avatars.githubusercontent.com/u/150731?v=4)](https://github.com/huglester "huglester (2 commits)")[![JoelESvensson](https://avatars.githubusercontent.com/u/6786740?v=4)](https://github.com/JoelESvensson "JoelESvensson (2 commits)")[![markbratanov](https://avatars.githubusercontent.com/u/207768?v=4)](https://github.com/markbratanov "markbratanov (2 commits)")[![basv](https://avatars.githubusercontent.com/u/946871?v=4)](https://github.com/basv "basv (2 commits)")[![vinnydude](https://avatars.githubusercontent.com/u/3431940?v=4)](https://github.com/vinnydude "vinnydude (2 commits)")[![edster](https://avatars.githubusercontent.com/u/656313?v=4)](https://github.com/edster "edster (2 commits)")[![joselfonseca](https://avatars.githubusercontent.com/u/2046653?v=4)](https://github.com/joselfonseca "joselfonseca (1 commits)")[![kiger](https://avatars.githubusercontent.com/u/2277562?v=4)](https://github.com/kiger "kiger (1 commits)")[![bubba169](https://avatars.githubusercontent.com/u/6085105?v=4)](https://github.com/bubba169 "bubba169 (1 commits)")[![stockhausen](https://avatars.githubusercontent.com/u/263501?v=4)](https://github.com/stockhausen "stockhausen (1 commits)")[![oimken](https://avatars.githubusercontent.com/u/5130712?v=4)](https://github.com/oimken "oimken (1 commits)")

---

Tags

moduleUsersStreams

### Embed Badge

![Health badge](/badges/anomaly-users-module/health.svg)

```
[![Health](https://phpackages.com/badges/anomaly-users-module/health.svg)](https://phpackages.com/packages/anomaly-users-module)
```

###  Alternatives

[filsh/yii2-oauth2-server

OAuth2 Server for PHP

337549.0k12](/packages/filsh-yii2-oauth2-server)[tomatophp/filament-users

Manage your users with a highly customizable user resource for FilamentPHP with integration of filament-shield and filament-impersonate

91126.7k9](/packages/tomatophp-filament-users)[budyaga/yii2-users

Module for manage users and their rights with the support of registration through social services and assigned to each user more than one social service.

429.1k](/packages/budyaga-yii2-users)[lm-commons/lmc-rbac-mvc

Laminas Framework MVC Module that provides a layer of features of Laminas\\Permissions\\Rbac

12436.8k12](/packages/lm-commons-lmc-rbac-mvc)[silverstripe/mfa

Enable multi-factor authentication with fallback codes

11364.7k11](/packages/silverstripe-mfa)[org_heigl/hybridauth

Lightweight Authentication Module for Zend-Framework 2 using the hybridauth-library

212.6k](/packages/org-heigl-hybridauth)

PHPackages © 2026

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