何处应用自定义中间件进行身份验证Laravel 5.2

时间:2016-07-30 11:25:21

标签: laravel laravel-5.2

在我的项目中有两种类型的用户,Admin和普通用户。它们由isAdmin表中的字段users标识。用户可以使用下面的功能编辑他们的个人资料

public function userEditprofile(){
    $user_detail = userDetail::find(Auth::user()->id);
    $user_detail->address = Input::get('address');
    .......
    $user_detail->save()
    return Redirect::route('showUserProfile');
}

和路线是

Route::group(['middleware' => 'my_profile'], function() {
    Route::get('/editprofile', array('uses' => 'UserController@userEditprofile', 'as' => 'userEditprofile'));
});

管理员还可以使用

编辑任何用户个人资料
public function adminEditUserprofile($user_id){
        $user_detail = userDetail::find($user_id);
        $user_detail->address = Input::get('address');
        .......
        $user_detail->save()
        return Redirect::route('showUserProfile', $user_id);
    }

在两种情况下,动作都相同,但在第一种方法中,不需要参数。但在admin的情况下,需要一个参数。我可以使用任何其他方式优化代码吗?我是一名自学成才的程序员。我不太了解有效的编程方法。任何人都可以回复吗?

1 个答案:

答案 0 :(得分:0)

我认为您应该实施基于角色的授权。 rappasoft/laravel-5-boilerplate

已经实施了一个很好的例子

您应该更喜欢这个样板文件,因为它包含了大多数业务应用程序所需的许多内容。