gpt4 book ai didi

php - 对不同用户的访问控制 - Laravel 5.2

转载 作者:搜寻专家 更新时间:2023-10-31 21:04:06 24 4
gpt4 key购买 nike

在我的应用程序中,我有两种类型的用户 - 管理员和教师。在我的 AuthController 中,我有这个:

public function getLogin() {
return view('auth.login');
}

public function postLogin(\Illuminate\Http\Request $request) {
if(Auth::attempt([
'username' => $request->input('username'),
'password' => $request->input('password'),
'type' => 'admin'
])) {
return redirect ('admin');
}

if(Auth::attempt([
'username' => $request->input('username'),
'password' => $request->input('password'),
'type' => 'teacher'
])) {
return redirect ('educator/account');
}


return redirect('login')->with('message', [
'type' => 'danger',
'message' => 'Грешно потребителско име или парола!'
]);
}

public function getLogout() {
Auth::logout();

return redirect('login');
}

但是当我以类型为 teacher 的用户身份登录时,如果我转到 http://localhost/school_system/public/admin 我自动进入管理面板而不询问用户名和密码。我想如果我想从教师帐户转到管理面板,要求用户名和密码,我该怎么做?

我的路线:

Route::group(['middleware' => ['auth']
], function () {
Route::group([
'prefix' => 'admin',
'namespace' => 'Admin'
], function () {
Route::controller('student', 'StudentsController');
Route::controller('profile', 'ProfilesController');
Route::controller('class', 'ClassesController');
Route::controller('subjects', 'SubjectsController');
Route::controller('teacher', 'TeachersController');
Route::controller('marktype', 'MarkTypeController');
Route::controller('rules', 'RuleController');
Route::get('{slug?}', 'PageController@getView');


});
});
Route::group(['middleware' => ['auth']
], function () {
Route::group([
'prefix' => 'educator',
'namespace' => 'Educator'
], function () {
Route::controller('account', 'AccountController');
Route::get('{slug?}', 'EducatorController@getView');
});

});

谢谢^^

最佳答案

你可以创建一个“adminmiddleware”:php artisan make:middleware AdminMiddleware您可以使用的代码示例

if ($request->user()->type != 'admin')
{
return redirect('home');
}

在 route :

Route::group(['middleware' => ['admin']...

完成;)

关于php - 对不同用户的访问控制 - Laravel 5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35574871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com