PHPackages                             barry/tp5-auth - 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. barry/tp5-auth

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

barry/tp5-auth
==============

The ThinkPHP5 Auth Package.

v1.1.6(7y ago)016Apache-2.0PHP

Since Nov 15Pushed 7y agoCompare

[ Source](https://github.com/BarryBravo/tp5-auth)[ Packagist](https://packagist.org/packages/barry/tp5-auth)[ RSS](/packages/barry-tp5-auth/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (9)Used By (0)

thinkphp5 权限认证 RBAC 加 行为日志
==========================

[](#thinkphp5-权限认证-rbac-加-行为日志)

这个插件主要有一整套RBAC 行为日志 视图 只需要 composer安装即可和你的系统融为一体

安装
--

[](#安装)

```
> composer require barry/tp5-auth

```

v1.1更新
------

[](#v11更新)

- 1.加入了行为日志
- 2.加入样式文件路由定义,

v1.1.1新加入方法
-----------

[](#v111新加入方法)

```
is_login()                              判断是否登录
login($uid 用户ID,$nickname 用户昵称)    用户登录
logout()                               用户退出
checkPath($path 路由,$param 参数)       检查路由是否有权限

```

配置 v1.1
-------

[](#配置-v11)

```
'thinkcms' =>[
        'style_directory' => '/static/admin/',
        'session_prefix'  => 'abc_',
  ]

```

可以不配置 配置以后Js css文件需要放到配置的目录里

手动加入日志 v1.1
-----------

[](#手动加入日志--v11)

```
    $auth = new Auth();
    $auth->admin = $list['user_name'];
    $auth->createLog('管理员[ {name} ]偷偷的进入后台了,','后台登录');

```

视图调用
----

[](#视图调用)

```
     public function _empty($name)
        {
            $auth =  new \thinkcms\auth\Auth();
            $auth = $auth->autoload($name);
            if($auth){
                if(isset($auth['code'])){
                    return json($auth);
                }elseif(isset($auth['file'])){
                    return $auth['file'];
                }
                $this->view->engine->layout(false);
                return $this->fetch($auth[0],$auth[1]);
            }
            return abort(404,'页面不存在');
        }

```

在模块中创建一个Auth控制器，把\_empty方法复制上去，这样就可以访问以下视图

- /auth/role.html 角色列表
- /auth/roleAdd.html 角色添加
- /auth/roleEdit.html 角色修改
- /auth/authorize/id/2.html 权限设置
- /auth/menu.html 菜单列表
- /auth/menuAdd.html 菜单增加
- /auth/menuEdit.html 菜单修改
- /auth/log.html 行为日志 新v1.1
- /auth/viewLog.html 查看日志 新v1.1
- /auth/clear.html 清空日志 新v1.1
- /auth/adminAuthorize.html 独立权限 新v1.1.2

权限认证
----

[](#权限认证)

```
     public function __construct()
        {
            parent::__construct();
            $auth                   = new Auth();
            $auth->noNeedCheckRules = ['index/index/index','index/index/home'];
            $auth->log              = true;                 // v1.1版本  日志开关默认true
            $user                   = $auth::is_login();

            if($user){//用户登录状态
                $this->uid = $user['uid'];
                if(!$auth->auth()){
                    return $this->error("你没有权限访问！");
                }
            }else{
                return $this->error("您还没有登录！",url("publics/login"));
            }
        }

```

这里在公共控制器上加入验证即可

\##管理员独立权限

```
 url('auth/adminAuthorize',['id' => '用户ID','name'=>'用户昵称'])

```

授权菜单
----

[](#授权菜单)

```
 Auth::menuCheck();

```

这个方法返回授权及非隐藏的所有菜单，这样我们后台的菜单就可以根据管理员的权限来来展示授权的目录

mysql文件
-------

[](#mysql文件)

```
tp_action_log.sql
tp_auth_access.sql
tp_auth_role.sql
tp_auth_role_user.sql
tp_auth_rule.sql
tp_menu.sql

```

案例下载()

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 94.4% 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 ~84 days

Recently: every ~134 days

Total

8

Last Release

2879d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/555f38e5b311a4758cce2da97d03ce70667cf5508443ca1b6b0652d74b4b5140?d=identicon)[BarryBravo](/maintainers/BarryBravo)

---

Top Contributors

[![zouxiang0639](https://avatars.githubusercontent.com/u/18464053?v=4)](https://github.com/zouxiang0639 "zouxiang0639 (51 commits)")[![BarryBravo](https://avatars.githubusercontent.com/u/23718268?v=4)](https://github.com/BarryBravo "BarryBravo (3 commits)")

### Embed Badge

![Health badge](/badges/barry-tp5-auth/health.svg)

```
[![Health](https://phpackages.com/badges/barry-tp5-auth/health.svg)](https://phpackages.com/packages/barry-tp5-auth)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

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