【问题标题】:Ignore a route for access checking in Laravel 5 using Entrust Package使用 Entrust 包在 Laravel 5 中忽略访问检查的路由
【发布时间】:2015-08-02 19:39:15
【问题描述】:

我正在使用 Entrust Laravel 包,它工作正常,但有一个问题。

我想使用下面的控制器向管理员显示登录表单

Route::get('/admin/login', array('as' => 'admin_login', 'uses' => 'Admin\AdminAccessController@getLogin'));

如何告诉 Entrust 对某些路由(例如“admin/login”)“禁用”访问控制?

Entrust::routeNeedsRole('admin/*', 'owner',dd(
    "Access Denied!"
));

【问题讨论】:

  • 等等……什么意思? routeNeedsRole 方法完全符合您的要求。

标签: php laravel laravel-5 laravel-routing


【解决方案1】:

你可以这样做.. (Documentation)

Route::filter('admin', function()
{
    // check the current user
    if (!Entrust::hasRole('admin')) {
        App::abort(403);
    }
});

// only admin will have access to routes within admin/login
Route::when('admin/login', 'admin');

【讨论】:

  • 谢谢,但我知道这一点。仅使用 Entrust 路由就没有其他方法了吗?
  • 谢谢!有效!所以过滤器仍然存在于 Laravel 5 中!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 2019-02-17
  • 1970-01-01
  • 2016-10-21
  • 2015-03-16
相关资源
最近更新 更多