diff --git a/composer.json b/composer.json index f93253e..71cf78e 100644 --- a/composer.json +++ b/composer.json @@ -16,5 +16,12 @@ "psr-4": { "VIACreative\\SudoSu\\": "src/" } + }, + "extra": { + "laravel": { + "providers": [ + "VIACreative\\SudoSu\\ServiceProvider" + ] + } } } \ No newline at end of file diff --git a/config/sudosu.php b/config/sudosu.php index 99298a4..0b61a51 100644 --- a/config/sudosu.php +++ b/config/sudosu.php @@ -14,7 +14,7 @@ | .local, simply add it to the arrow below. | */ - + 'allowed_tlds' => ['dev', 'local'], /* @@ -26,7 +26,17 @@ | displayed in the select dropdown. This must be an Eloquent Model instance. | */ - - 'user_model' => App\User::class - + + 'user_model' => App\User::class, + + /* + |-------------------------------------------------------------------------- + | Middleware for sudosu + |-------------------------------------------------------------------------- + | + | Define the middleware for sudosu, eg. ['web', 'can:sudoer'] means the cross + | login user must have the sudoer permission or role. + | + */ + 'middleware' => ['web',], ]; \ No newline at end of file diff --git a/resources/views/user-selector.blade.php b/resources/views/user-selector.blade.php index ca0e588..24a21e9 100644 --- a/resources/views/user-selector.blade.php +++ b/resources/views/user-selector.blade.php @@ -1,4 +1,4 @@ - +
@@ -45,4 +45,4 @@ const element = document.getElementById('sudosu-js-interface'); btn.addEventListener('click', event => element.classList.toggle('hidden')); - \ No newline at end of file + diff --git a/src/RouteServiceProvider.php b/src/RouteServiceProvider.php index 9bc5482..2b3a5d6 100644 --- a/src/RouteServiceProvider.php +++ b/src/RouteServiceProvider.php @@ -12,7 +12,7 @@ public function map() Route::group([ 'prefix' => 'sudosu', 'namespace' => 'VIACreative\SudoSu\Controllers', - 'middleware' => ['web'] + 'middleware' => config('sudosu.middleware', ['web']), ], function () { Route::post('/sudosu/login-as-user', 'SudoSuController@loginAsUser') ->name('sudosu.login_as_user'); diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index 1219600..6e46387 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -32,7 +32,7 @@ public function boot() $this->registerViews(); } } - + protected function registerViews() { $this->loadViewsFrom(__DIR__ . '/../resources/views', 'sudosu'); @@ -47,11 +47,14 @@ protected function registerViews() 'originalUser' => $sudosu->getOriginalUser(), 'currentUser' => Auth::user() ]); - }); + }); } protected function tldIsAllowed() { + if (false === Config::get('sudosu.check_tlds')) { + return true; + } $requestTld = $this->getRequestTld(); $allowedTlds = Config::get('sudosu.allowed_tlds');