milkwood / 可访问
此包已被废弃,不再维护。未建议替代包。
此包最新版本(0.1.6)没有可用的许可证信息。
0.1.6
2015-03-09 17:27 UTC
Requires
- php: >=5.4.0
- illuminate/support: 5.0.*
- milkwood/custom-helper: 0.1.*
README
Laravel 身份验证中间件
步骤 1:通过 Composer 安装
Composer require 'milkwood/accessable'
步骤 2:添加 ServiceProvider
将以下行添加到您的 Config/App.php 文件中,并创建一个 CH 门面。您在这里添加了 CustomHelper 服务提供者,它是 Accessable 依赖的,以及它自己的服务提供者。您还添加了一个 Customhelper 门面。
"Milkwood\Accessable\AccesableServiceProvider",
"Milkwood\CustomHelper\CustomHelperServiceProvider",
'CH' => 'Milkwood\CustomHelper\CH',
步骤 3:发布中间件
通过控制台发布中间件
php artisan vendor:publish
现在您可以在
['middleware' => 'auth]
您的路由中使用
步骤 4:添加检查的动作
添加您为用户获取的规则
protected $keysToCheckFor = ['reqRoles','forbiddenRoles','minAccessLevel','maxAccessLevel','moduleToAccess'];
步骤 5:添加特性到类
将 accessable 特性添加到类中,例如用户
use Milkwood\Accessable\Accessable;
class ExampleClass{
use Accessable;
}
步骤 6:创建规则
以下是一些 usertype 规则的示例
// Requirement functions
public function reqRoles($roles){
$roles = explode('|',$roles);
if( in_array( $this->name , $roles) ){
return true;
}
$this->error = 'Din bruger type har ikke adgang til den pågældende side';
return false;
}
public function forbiddenRoles($roles){
$roles = explode('|',$roles);
if( ! in_array( $this->name , $roles) ){
return true;
}
$this->error = 'Din bruger type er restrikteret fra den pågældende side';
return false;
}
public function minAccessLevel($accessLevel){
if( $this->access_level >= $accessLevel){
return true;
}
$this->error = 'Din brugertype har for lav access til den pågældende side';
return false;
}
public function maxAccessLevel($accessLevel){
if( $this->access_level <= $accessLevel){
return true;
}
$this->error = 'Din brugertype har for høj access til den pågældende side';
return false;
}
以下是如何要求公司模块的示例
public function moduleToAccess($moduleName){
$modulesCompanyHasAccessTo = $this->modules->lists('name');
if( in_array($moduleName, $modulesCompanyHasAccessTo)){
return true;
}
$this->error = 'Din virksomhed har ikke adgang til dette modul';
return false;
}
以下是如何将请求发送到另一个类的示例
public function reqRoles($roles){
return $this->sendOfAccess('userType', [ __FUNCTION__ => $roles]);
}
public function forbiddenRoles($roles){
return $this->sendOfAccess('userType', [ __FUNCTION__ => $roles]);
}
public function minAccessLevel($accessLevel){
return $this->sendOfAccess('userType', [ __FUNCTION__ => $accessLevel]);
}
public function maxAccessLevel($accessLevel){
return $this->sendOfAccess('userType', [ __FUNCTION__ => $accessLevel]);
}
public function moduleToAccess($moduleName){
return $this->sendOfAccess('company', [ __FUNCTION__ => $moduleName]);
}