0
在Laravel 5.4中,我爲顯示特定路線創建了一個定製服務提供商。我的代碼工作正常,但我面臨着一個問題。問題是,如果用戶ABC
分配兩條路線(菜單的),例如Laravel服務提供商驗證路線
user\list
user\form
現在,如果用戶ABC
嘗試調用像user\show_form
其他網址,以便用戶ABC
可以訪問此路線(菜單)。所以如果用戶ABC沒有權限訪問user\show_form
並且用戶嘗試訪問這條路線(菜單),那麼它有可能重定向到404頁面。
我的服務提供商
class UserNavigationServiceProvider extends ServiceProvider {
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot() {
$this->getUserNavigation();
}
/**
* Register the application services.
*
* @return void
*/
public function register() {
//
}
/**
* getUserNavigation() function use for after user login
* fetch the rights
* @return void
*/
private function getUserNavigation() {
$user_permission = user_permission();
View::composer('admin.navbar', function($view) use ($user_permission) {
$auth_user = Auth::user();
$user_id = $auth_user->id;
$user_group = UserPermissionsGroup::select('user_permissions_id')
->where('user_id', $user_id)
->get()
->toArray();
$menu = array();
foreach ($user_group as $k => $v) {
foreach($v as $kv) {
$menu[$kv] = id_to_text($kv, $user_permission);
}
}
$view->with('menu_list', $menu);
});
}
}
請建議我該如何解決。
我怎麼可以設置UserNavigationServiceProvider –
'$ menu'全局變量所以'$ menu'全局變量,我可以訪問 –
您可以創建一個門面一個setter方法和getter方法的任何控制器。從UserNavigationServiceProvider中設置它的值,並使用控制器中的get方法來獲取該值。或者你可以在會話中設置它。 希望這有助於.. – sp11