refactor(auth): simplify access control logic in CanAccessTerminal and ServerPolicy by allowing all users to perform actions

This commit is contained in:
Andras Bacsai
2025-08-28 10:48:24 +02:00
parent 7fe6a4198d
commit 643343785a
3 changed files with 24 additions and 28 deletions

View File

@@ -15,17 +15,15 @@ class CanAccessTerminal
*/ */
public function handle(Request $request, Closure $next): Response public function handle(Request $request, Closure $next): Response
{ {
if (! auth()->check()) {
abort(401, 'Authentication required');
}
// Only admins/owners can access terminal functionality
if (! auth()->user()->can('canAccessTerminal')) {
abort(403, 'Access to terminal functionality is restricted to team administrators');
}
return $next($request); return $next($request);
// if (! auth()->check()) {
// abort(401, 'Authentication required');
// }
// // Only admins/owners can access terminal functionality
// if (! auth()->user()->can('canAccessTerminal')) {
// abort(403, 'Access to terminal functionality is restricted to team administrators');
// }
// return $next($request);
} }
} }

View File

@@ -28,7 +28,8 @@ class ServerPolicy
*/ */
public function create(User $user): bool public function create(User $user): bool
{ {
return $user->isAdmin(); // return $user->isAdmin();
return true;
} }
/** /**
@@ -36,7 +37,8 @@ class ServerPolicy
*/ */
public function update(User $user, Server $server): bool public function update(User $user, Server $server): bool
{ {
return $user->isAdmin() && $user->teams->contains('id', $server->team_id); // return $user->isAdmin() && $user->teams->contains('id', $server->team_id);
return true;
} }
/** /**
@@ -44,7 +46,8 @@ class ServerPolicy
*/ */
public function delete(User $user, Server $server): bool public function delete(User $user, Server $server): bool
{ {
return $user->isAdmin() && $user->teams->contains('id', $server->team_id); // return $user->isAdmin() && $user->teams->contains('id', $server->team_id);
return true;
} }
/** /**
@@ -68,7 +71,8 @@ class ServerPolicy
*/ */
public function manageProxy(User $user, Server $server): bool public function manageProxy(User $user, Server $server): bool
{ {
return $user->isAdmin() && $user->teams->contains('id', $server->team_id); // return $user->isAdmin() && $user->teams->contains('id', $server->team_id);
return true;
} }
/** /**
@@ -76,7 +80,8 @@ class ServerPolicy
*/ */
public function manageSentinel(User $user, Server $server): bool public function manageSentinel(User $user, Server $server): bool
{ {
return $user->isAdmin() && $user->teams->contains('id', $server->team_id); // return $user->isAdmin() && $user->teams->contains('id', $server->team_id);
return true;
} }
/** /**
@@ -84,15 +89,8 @@ class ServerPolicy
*/ */
public function manageCaCertificate(User $user, Server $server): bool public function manageCaCertificate(User $user, Server $server): bool
{ {
return $user->isAdmin() && $user->teams->contains('id', $server->team_id); // return $user->isAdmin() && $user->teams->contains('id', $server->team_id);
} return true;
/**
* Determine whether the user can view terminal.
*/
public function viewTerminal(User $user, Server $server): bool
{
return $user->isAdmin() && $user->teams->contains('id', $server->team_id);
} }
/** /**
@@ -100,6 +98,7 @@ class ServerPolicy
*/ */
public function viewSecurity(User $user, Server $server): bool public function viewSecurity(User $user, Server $server): bool
{ {
return $user->isAdmin() && $user->teams->contains('id', $server->team_id); // return $user->isAdmin() && $user->teams->contains('id', $server->team_id);
return true;
} }
} }

View File

@@ -67,8 +67,7 @@ class AuthServiceProvider extends ServiceProvider
// Register gate for terminal access // Register gate for terminal access
Gate::define('canAccessTerminal', function ($user) { Gate::define('canAccessTerminal', function ($user) {
// return $user->isAdmin() || $user->isOwner(); return $user->isAdmin() || $user->isOwner();
return true;
}); });
} }
} }