亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

? php教程 PHP視頻 Laravel5 ?? ?? ??? ?? ??? ??

Laravel5 ?? ?? ??? ?? ??? ??

Dec 23, 2016 pm 05:27 PM

? ?? ????? Laravel5 ?? ?? ?? ??? ?????. ???? ? ??? ??? ??? ??? ??? ??? ????.

?? ??? ?? ??

??? laravel? ???? ???? ?????, ????? ?? ??? ?????. ?? ??? ????? ? ?? ??? ??? ? ???? ????. ?? ??? ?? ????. ?, ???? ????? ??? ???? ????. Laravel?? ?? ???? ?? Auth? ?? ?????. ?? ??? ?? ?? ????.

?? ??? ????? ?? ??? ??? ? ?? ??? ??? ???? ?????. ???? ? ?? ??? ????. ??? ????? ?? ??? ???? ? ?? ???? ?? ??, ???? ????? ?? ? ?? ???? ?? ??? ??? ?? ????. ? ??, ???? ??? ? ??? ??? ??? ??? ????. ???? ????, ???? ??? ?????. ? ?? ??? ??? ?????. ??? ?? ???? ?? ??? ?? ? ? ?? ??? ???? ???? ????. ?? ? ?? ???? ??? ??? ??? ?????.

?? ??? ???? ?? ??? ??? ?? ??? ??? ???? ??? ???? ???. ?? ?? ??? ??? ?? ????. East-West ????? ??? ?? ?? ??? ?????. ?, ?? ??? ?? ?? ??? ?????.

??? ???? ??? ??? ????. ??, ?? ?? ??? ??? ? ????. ??? ?? ? ?? ?? ??? ???? ???? ??????. 1. ???? ???? ?? ???????? ???? ????. 2. ?? ??? ?? ? ??? ?? ??? ??? ??? ?????. ??? ???? ?? ?? ?? ?? ???? ????.

????? ??? ???? ??? ?????.

??? ??

?? ???? ?????

???? ?? ??? ??? ??? ? ?? ??? ??? ?? ?????. ?? ?? ??? ??? ?? ???? ?? ????? ???? ? ???? ? ??? ???? ? ??? ??? ??? ??? ??? ???.
Route::post('/admin/validate', ['uses' => 'AdminController@postValidate', 'permissions'=>['admin.validate', 'admin.index']]);

???? admin.validate? ?? ??? ?????. ?? ??? ??? ???? ? ????. admin? ??????? 2?? ??? [admin]? ?????. ] => ['validate', 'index']; ????? 1??? ?? 2?? ??? ???? ?? ??? ???? ?? ??? ??? ?? ?????. ?, ? 2?? ??? ??? ? ? ?? ?? ??? ??? ????.

???? ???

?, ?? ????? ???? ? ????? ??? ?? ??? ???????

??? ?? ??? ?? getPermission ??? $request->route()->getAction()?? ? ??? ?? ??? ??? ?? ?? ???? Route.php? ??? ??? ??? ????.
<?php namespace App\Http\Middleware;
use Illuminate\Support\Facades\Session;
use Closure;
class Permission {
  /**
   * Handle an incoming request.
   *
   * @param \Illuminate\Http\Request $request
   * @param \Closure $next
   * @return mixed
   */
  public function handle($request, Closure $next)
  {
    $permits = $this->getPermission($request);
    $admin = \App\Http\Middleware\Authenticate::getAuthUser();
    // 只要有一個有權限,就可以進入這個請求
    foreach ($permits as $permit) {
      if ($permit == &#39;*&#39;) {
        return $next($request);
      }
      if ($admin->hasPermission($permit)) {
        return $next($request);
      }
    }
    echo "沒有權限,請聯系管理員";exit;
  }
  // 獲取當前路由需要的權限
  public function getPermission($request)
  {
    $actions = $request->route()->getAction();
    if (empty($actions[&#39;permissions&#39;])) {
      echo "路由沒有設置權限";exit;
    }
    return $actions[&#39;permissions&#39;];
  }
}

?? ????? ??? ????.

???? ?? ??? ?????.
admin?>hasPermission(admin?>hasPermission(permit);

?? ??

???????? 2?? ??? json?? ????, laravel? Attribute get ? set ???? ???? ??????? ??? json ??? ??????. ???? ??. ???? hasPermission? ?? ?? ? ????. in_array? ?? ???? ??? ????.
<?php namespace App\Models\Admin;
use App\Models\Model as BaseModel;
class Admin extends BaseModel {
  protected $table = &#39;admin&#39;;
  // 判斷是否有某個權限
  public function hasPermission($permission)
  {
    $permission_db = $this->permissions;
    if(in_array($permission, $permission_db)) {
      return true;
    }
    return false;
  }
  // permission 是一個二維數組
  public function getPermissionsAttribute($value)
  {
    if (empty($value)) {
      return [];
    }
    $data = json_decode($value, true);
    $ret = [];
    foreach ($data as $key => $value) {
      $ret[] = $key;
      foreach ($value as $value2) {
        $ret[] = "{$key}.{$value2}";
      }
    }
    return array_unique($ret);
  }
  // 全局設置permission
  public function setPermissionsAttribute($value)
  {
    $ret = [];
    foreach ($value as $item) {
      $keys = explode(&#39;.&#39;, $item);
      if (count($keys) != 2) {
        continue;
      }
      $ret[$keys[0]][] = $keys[1];
    }
    $this->attributes[&#39;permissions&#39;] = json_encode($ret);
  }
}

?? ??

? ?? ??? ??? ?????. ?? ?? ???? ??? ??? ?? ??? ?? ????? ???? ?? ?? ???

? ???? ???? ?? ? ? ??? ???? ???.
@if ($admin->hasPermission(&#39;admin.index&#39;))
@endif

??

?? ??? ??? ???? ?? ?? ????? ??? ???? ????? ?? ??? ??? ? ??? ?????. ?? ???? ? ?? ?? ?? ? ????.

?? ?? ??? ???? ??? ? ???? hasPermission? nosql?? pg? ???? ??? ?? DB ??? ??? ??? ????. ?? ?? ?? ????


? ?? Laravel ?????? ???? ?? ?? ??? PHP ???? ??? ??? ??? ????.

Laravel5? ?? ?? ??? ?? ?? ?? ??? ??? PHP ??? ????? ??????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1597
29
PHP ????
1488
72
???