cmsrs/laracms
最新稳定版本:1.0.6
Composer 安装命令:
composer require cmsrs/laracms
包简介
cmsRS package
README 文档
README
composer require cmsrs/laracms
php artisan vendor:publish --provider="Cmsrs\Laracms\Providers\LaracmsProvider" --force
php artisan migrate
php artisan db:seed
Remove lines from file: ./routes/web.php:
//Route::get('/', function () { // return view('welcome'); //});
Configure jwtAuth (in nutshell):
php artisan vendor:publish --provider="PHPOpenSourceSaver\JWTAuth\Providers\LaravelServiceProvider"
php artisan jwt:secret
in config/auth.php change to:
'defaults' => [ 'guard' => 'api', 'passwords' => 'users', ], 'guards' => [ 'api' => [ 'driver' => 'jwt', //'token', 'provider' => 'users', 'hash' => false ], 'web' => [ 'driver' => 'session', 'provider' => 'users', ], ], 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\Models\User::class, ], ],
add User.php file in: app/Models:
<?php namespace App\Models; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Auth; use PHPOpenSourceSaver\JWTAuth\Contracts\JWTSubject; class User extends Authenticatable implements JWTSubject { use Notifiable; public static $role = [ 'admin' => 'admin', 'client' => 'client' ]; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'password' , 'role' ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast to native types. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', ]; /** * Get the identifier that will be stored in the subject claim of the JWT. * * @return mixed */ public function getJWTIdentifier() { return $this->getKey(); } /** * Return a key value array, containing any custom claims to be added to the JWT. * * @return array */ public function getJWTCustomClaims() { return []; } public function setPasswordAttribute($password) { if (!empty($password)) { $this->attributes['password'] = Hash::make($password); } } static public function getTokenForClient() { $user = Auth::user(); if( empty($user) ){ throw new \Exception("User not auth"); } return $user->getTokenClient(); } public function getTokenClient() { $appKey = env('APP_KEY'); if( empty($appKey) ){ throw new \Exception("empty APP_KEY in config file"); } return sha1($this->email."_".$this->id."_".$appKey); } public function checkClientByToken($token) { $expectedToken = $this->getTokenClient(); if($expectedToken == $token){ return true; } return false; } static public function checkApiClientByToken($token) { $user = Auth::user(); if( empty($user) ){ throw new \Exception("User not auth - for check"); } if( !$user->checkClientByToken($token) ){ throw new \Exception("User not valid - check"); } return true; } }
php artisan serve
MANAGMENT
-
go to the website http://127.0.0.1:8000/admin/
log in as:
username: adm@cmsrs.pl
password: cmsrs123
-
create main page (page type: main_page)
-
add menu
-
add pages
统计信息
- 总下载量: 14
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-10-19