질문을 삭제하지 말아주세요.!
 
1
0
-1

이번에 관리자 전용 페이지를 구현하고 있는데요..

해당 페이지는 관리자도 등급별로 권한이 있습니다.


guard
\Auth::guard('admin');

그러던중 위와 같은 기능을 보았는데요.


외국 개발자들이나, 라라벨 번역에도 언급은 있는데..

이해가 잘 안되어서 이렇게 질문드립니다.

혹시 알고계신 자세히 설명된 블로그나 조언 부탁드립니다.

(빨간책도 가지고 있는데.. 어느 부분에 나와있는지 페이지를 알려주셔도 감사히 참고하겠습니다.)


어떻게 구현해야할지 문의 드립니다.


ps.. 추가로 로그인 할때 where을 쓸수 있는지 문의드립니다.

user 테이블에 level이 있는데 2렙 이상일때는 어떻게 구현해야할가요 ?

where
auth::attempt($request->only('id','pw',['level','>',2]))  ???
    CommentAdd your comment...

    2 answers

    1.  
      1
      0
      -1
      \Auth::guard('admin');

      전 이걸 인증처리를 구분할때 쓰고있습니다.

      예를들어

      'guards' => [
              'front=> [
                  'driver' => 'session',
                  'provider' => 'customers',
              ],
              'admin' => [
                  'driver' => 'session',
                  'provider' => 'admins',
              ],
          ],


      config/auth.php의 내용인데 사이트를 프론트랑 / 어드민으로 구분하여

      각각의 사이트에 대한 유저를 나누려고 사용합니다.

      프론트 유저인증은 front라는 인증처리를 따르고, 어드민은 admin이라는 인증처리를 따릅니다.

      인증처리를 담당하는 부분에선

      protected function attemptAdmin(Request $request)
          {
              return Auth::guard('admin')->attempt(
                  $this->credentials($request), $request->has('remember')
              );
          }
      
      

      저는 이렇게 사용했구요.




        CommentAdd your comment...
      1.  
        1
        0
        -1

        1) 빨간책은 Default guard만 사용하므로, 본문에 guard()를 사용하는 내용이 안 나옵니다. 아래 링크를 참고하시기 바랍니다.

        사용 예제) https://github.com/appkr/myshop/commit/d19ffdc8db51897f4d3da6cd043df9e6c800bb2e

        매뉴얼) https://laravel.kr/docs/5.4/authentication#included-authenticating


        2) 레벨에 따라 인증을 하려는 것으로 추정됩니다. 레벨은 인증(Authentication)이 아니라 인가(Authorization)의 개념으로 봐야 합니다.

        https://laravel.kr/docs/5.4/authorization

          CommentAdd your comment...