약간 혼란 스럽습니다. 인증을 위해 LDAP를 사용하고 있습니다. 더 구체적으로는 https://github.com/SaschaDens/ldap-connectorLDAP를 사용한 경로 보호
내가 사용하는 LDAP 라이브러리는 본질적으로 Laravels Authentication Facade에서 작동합니다.
모든 것이 정상입니다. 이제 LDAP를 사용하여 로그인 및 로그 아웃 할 수 있습니다. 그러나 로그인 할 때 사용자 업데이트 버튼이 있습니다. 이것은 기본적으로 LDAP를 사용하여 사용자가 떨어져있는 모든 그룹 을 얻습니다. 그래서 세 개의 테이블이 있습니다.
users
groups
users_groups
버튼을 누르면 모든 사용자가 users 테이블에 추가됩니다. 그런 다음 모든 고유 그룹을 그룹 테이블에 추가합니다. 마지막 테이블 users_groups는 본질적으로 users_id를 groups_id에 연결하는 피벗 테이블입니다.
결국 나는 3 개의 그룹 중 하나인데, 그 중 하나는 관리 그룹 중 하나임을 알 수 있습니다. 이 작업을 통해이 그룹의 모든 구성원을 볼 수도 있습니다.
$group = Group::where('groupName', 'admin')->first();
$users = $group->user;
이제 관리자 사용자 만 사용할 수 있도록하려는 일부 경로가 있습니다. 나는이 Kernel.php에서 볼 수있는 난 단지 사용자가 로그인되어 있는지 확인하기 위해 인증을 사용하고있는 순간
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
];
를 다음과 같습니다. 분명히 내가 관리자 아직 설정이없는, 내가 생각 내 자신의 그룹 테이블을 만들기 때문에 내가 거기에서 일하는 방식이 문제가 될 수 있습니다.
관리자 그룹과 다른 사용자에게만 특정 경로에 대한 액세스를 차단하려면 어떻게해야합니까?
감사