【问题标题】:How do i create separate accounts for user and admin in Laravel?如何在 Laravel 中为用户和管理员创建单独的帐户?
【发布时间】:2016-08-22 17:31:50
【问题描述】:
我正在 laravel 中开展一个项目,该项目需要访问者注册为简单用户才能以有限的权限访问网站公共部分的某些功能,并且还需要管理在管理部分执行操作的管理员帐户,例如创建、更新和删除出现在公共区域的内容。
如何在没有必要使用用户角色的情况下做到这一点?
【问题讨论】:
标签:
laravel-5
user-registration
【解决方案1】:
为此,最短的方法是在您的 users 表中添加一列 is_admin(其值可以是:1 或 0)。
【解决方案2】:
创建一个单独的列,例如管理员和用户的角色。然后创建一个单独的管理中间件组。
在App/http/middleware/adminmiddleware.php
public function handle($request, Closure $next, $guard = null)
{
if(Auth::check())
{
if($request->user()->role=='Admin')
{
return $next($request);
}
return redirect('/home');
}
return redirect('/home');
}
添加要保护的路由
Route::group(['middleware' => ['App\Http\Middleware\Adminmiddleware']], function () {
// Routes for only admins
});