techlify-inc / laravel-core-module
此包的最新版本(10.15)没有可用的许可证信息。
由功能模块组成的Laravel核心模块
10.15
2024-09-19 21:51 UTC
Requires
- php: >=8.2
- intervention/image: ^2.5
- laravel/framework: >=10.0
- tucker-eric/eloquentfilter: ^3.2
Requires (Dev)
- orchestra/testbench: ^9.1
- phpunit/phpunit: ^10.5
- dev-master
- 10.15
- 10.14.3
- 10.14.2
- 10.14
- 10.13.8
- 10.13.7
- 10.13.6
- 10.13.5
- 10.13.4
- 10.13.3
- 10.13.2
- 10.13.0
- 10.12.2
- 10.12.1
- 10.12.0
- 10.11.7
- 10.11.6
- 10.11.5
- 10.11.4
- 10.11.3
- 10.11.1
- 10.11
- 10.10.2
- 10.10.1
- 10.10.0
- 10.9.1
- 10.9
- 10.8.1
- 10.7.7
- 10.7.6
- 10.7.5
- 10.7.4
- 10.7.3
- 10.7.2
- 10.7.1
- 10.7.0
- 10.6.4
- 10.6.3
- 10.6.2
- 10.6.1
- 10.6
- 10.5
- 10.4
- 10.3
- 10.2.1
- 10.2.0
- 10.1.0-alpha-1
- 10.0.9-alpha-1
- 10.0.8
- 10.0.7
- 10.0.6
- 10.0.5
- 10.0.5-beta-1
- 10.0.4
- 10.0.3
- 10.0.1
- 10.0.0-beta-1
- 9.2.3
- 9.2.3-beta-4
- 9.2.3-beta-3
- 9.2.3-beta-2
- 9.2.3-beta-1
- 9.2.2-beta-4
- 9.2.2-beta-3
- 9.2.2-beta-2
- 9.2.2-beta
- 9.2.1
- 9.2.1-beta
- 9.2.0
- 9.1.0
- 9.0.6
- 9.0.3
- 9.0.2
- 9.0.0
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.5-beta.2
- 1.3.5-beta.1
- 1.3.5-alpha.3
- 1.3.5-alpha.2
- 1.3.5-alpha.1
- 1.3.5-alpha
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.2-alpha
- 1.0.1
- 1.0.1-alpha
- 1.0.0
- 1.0.0-alpha
- 0.9.9
- 0.9.8
- 0.9.7
- 0.9.6
- 0.9.5
- 0.9.4
- 0.9.3
- 0.9.2
- 0.9.1
- 0.9.0
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.9.4
- 0.7.9.3
- 0.7.9.2
- 0.7.9.1
- 0.7.9
- 0.7.8
- 0.7.7
- 0.7.6
- 0.7.5
- 0.7.4
- 0.7.3
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.9
- 0.6.8
- 0.6.7
- 0.6.6
- 0.6.5
- 0.6.4
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6.0.x-dev
- 0.6.0
- 0.5.0.x-dev
- 0.5.0
- 0.4.0
- 0.1.0
- dev-release/10.15
- dev-release/10.14
- dev-Bhagirath-Dangar/composerjson-edited-online-with-bitbucke-1725898790201
- dev-Bhagirath-Dangar/version-updated-1725898483598
- dev-CGY-18
- dev-release/10.13.7
- dev-release/10.13.8
- dev-release/10.13.4
- dev-release/10.13.3
- dev-release/10.13
- dev-release/10.13.1
- dev-release/10.12.2
- dev-release/10.12.1
- dev-TECHLIFYHR-1357
- dev-release/10.12
- dev-release/10.11.6
- dev-release/10.11.7
- dev-release/10.11.5
- dev-release/10.11.4
- dev-release/10.11.3
- dev-release/10.11.1
- dev-shemar-rbac-role-permission-check
- dev-release/10.11
- dev-release/10.10.3
- dev-TECHLIFYHR-1242
- dev-release/10.10.2
- dev-release/10.10.1
- dev-bugfix/techlify-import-entities-check-if-exists
- dev-release/10.10
- dev-release/10.9.1
- dev-release/10.9
- dev-release/10.8.1
- dev-release/10.8.2
- dev-release/10.8.0
- dev-release/10.7.6
- dev-release/10.7.5
- dev-release/10.7.4
- dev-release/10.7.3
- dev-release/10.7.2
- dev-release/10.7.1
- dev-release/10.7.0
- dev-release/10.6.4
- dev-release/10.6.5
- dev-release/10.6.3
- dev-release/10.6.2
- dev-release/9.2.3
- dev-release/10.6.1
- dev-goku/urgent-patch
- dev-release/10.6
- dev-release/10.5
- dev-release/10.4
- dev-release/10.3
- dev-release/10.2.1
- dev-release/10.2.2
- dev-release/10.2.0
- dev-release/10.1.0
- dev-release/10.1.1
- dev-release/10.0.9
- dev-GEMR-187-notficiation-workflow-updates
- dev-release/10.0.8
- dev-feature/locations-integration
- dev-GEMR-save-user-stamp-information
- dev-GEMR-70-save-user-location
- dev-release/10.0.7
- dev-release/10.0.6
- dev-release/10.0.5
- dev-goku/laravel-upgrade-fix
- dev-release/10.0.3
- dev-release/10.0.4
- dev-release/10.0.2
- dev-feature/note-created-event-emit
- dev-release/10.0.1
- dev-SMAR-58
- dev-release/10.0.0
- dev-feature/user_create_and_edit_form_password_validation
- dev-release/9.2.2
- dev-release/9.2.1
- dev-release/9.2.0
- dev-feature/roles-index-api-imrovements
- dev-feature/restrictors
- dev-SMAR-27_2
- dev-feature/access-control-configuration-improvements
- dev-release/9.1.1
- dev-release/9.1.0
- dev-feature/techlify-user-model-setup
- dev-release/9.0.6
- dev-feature/techlify-notitification-merge
- dev-TECHLIFYHR-1149
- dev-feature/help-hub
- dev-release/9.0.5
- dev-release/9.0.4
- dev-release/9.0.3
- dev-bm-spares-10263
- dev-release/9.0.2
- dev-release/9.0.1
- dev-release/9.0
- dev-release/1.4
- dev-bm-spares-9397
- dev-release/1.0
- dev-release/1.3.6
- dev-new-packaging-system
- dev-feature/new-subscriptions
- dev-customer-user
- dev-quick_fix_0.2
- dev-release/0.7
- dev-deploy
- dev-release/0.4
This package is auto-updated.
Last update: 2024-09-24 13:15:59 UTC
README
这是Techlify用于项目的核心模块。它包含以下基础:
- 用户管理
- 模块管理
- 客户管理
安装
使用以下命令通过composer安装此包
composer require techlify-inc/laravel-core
运行迁移
$ php artisan migrate
将Rbac特质添加到您的 User 模型中
class User extends Authenticatable
{
use TechlifyInc\LaravelRbac\Traits\LaravelRbac;
}
用法
角色
创建角色
use \TechlifyInc\LaravelRbac\Models\Role;
$adminRole = Role::create([
'name' => 'Administrator',
'slug' => 'admin'
]);
$managerRole = Role::create([
'name' => 'Manager',
'slug' => 'manager'
]);
分配和移除角色
您可以将角色简单地分配给用户
use App\Models\User;
$user = User::find(1);
$user->attachRole($adminRole);
//or you can attach using the role slug
$user->attachRole("admin");
同样,如果您想移除角色
$user->detachRole($adminRole);
//or you can remove using the role slug
$user->detachRole("admin");
检查角色
您可以简单地检查用户是否具有角色
use App\Models\User;
$user = User::find(1);
if ($user->hasRole('admin')) {
}
权限
创建权限
use \TechlifyInc\LaravelRbac\Models\Permission;
$createPermission = Permission::create([
'name' => 'Create product',
'slug' => 'product.create'
]);
$removePermission = Permission::create([
'name' => 'Delete product',
'slug' => 'product.remove'
]);
附加和移除权限
您可以将权限附加到角色非常简单
use \TechlifyInc\LaravelRbac\Models\Role;
$adminRole = Role::find(1);
$adminRole->attachPermission($createPermission);
//or you can insert only slug
$adminRole->attachPermission("product.create");
同样,移除权限也是如此
$adminRole->detachPermission($createPermission);
$adminRole->detachPermission("product.create");
检查权限
您可以简单地检查用户是否具有权限
use App\Models\User;
$user = User::find(1);
if ($user->hasPermission('product.create')) {
}
// OR for currently logged in user
if (auth()->user()->hasPermission('product.create'))
您还可以使用中间件在路由级别强制执行访问控制;这以多种方式执行。
- 使用权限
Route::get("customers", "CustomerController@index")
->middleware("TechlifyAccessControl:customer_view");
OR
Route::get("customers", "CustomerController@index")
->middleware("TechlifyAccessControl:ps:customer_view");
- 使用用户类型
Route::get("customers", "CustomerController@index")
->middleware("TechlifyAccessControl:ut:admin");
- 使用状态来限制访问
Route::get("customers", "CustomerController@index")
->middleware("TechlifyAccessControl:state:logged-in");
用户管理
// Get the set of users
GET api/users
// Get a single user
GET api/users/{id}
// Add a new user
POST api/users
// Update a user record
PATCH api/users/{id}
// Delete a user record
DELETE api/users/{id}
用户密码管理
// Change the current user password
POST api/user/current/update-password {current_password, new_password}
用户会话管理
// Log out the currently logged in user
POST api/user/logout
// Get the User record of the currently logged in user
GET api/user/current
实体文件管理
应用程序内集成了功能强大的动态文件管理器。实体文件就是指它。
配置
// add this variable to your .env file to supply the maximum
ENTITY_FILE_MAX_UPLOAD_FILE_SIZE=20480 // 20MB
ENTITY_FILE_DISK=.... // Which Disk
ENTITY_FILE_SUB_PATH=.... // Which Disk
该模块通过内置的 <entity-files entityType="'Sale'" entityId="sale.id"></entity-files> angular 组件在 ngx-techlify-core 包中独立工作。