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

안녕하세요. 얼마전에 가입한 시내기 입니다.

김주원님의 책을 사서 보다가 미국 쇼핑몰을 만드는 프로젝트에 라라벨을 적용하고 있습니다.


라우트를 아래와 같이 하고

Route::get('checkout','ShopCartController@checkoutForm')->name("shop.checkout")->middleware("auth:customer");


로그인 하지 않은 상태에서 위 라우트에 접근시에 auth 미들웨어에 의해 로그인 창으로 리다이렉트 되는데

이때, 간단한 alert 메시지를 뿌려주고 싶습니다. 이를 작업할 컨트롤러, 함수가 뭔지 찾기가 어렵네요.

혹시 아시는 분 계신가요?

    CommentAdd your comment...

    2 answers

    1.  
      4
      3
      2

      결론부터 말씀드리면 app/Exceptions/Handler.php 의 unauthenticated 메소드를 보시면 될 것 같습니다.


      라우트 미들웨어는 app/Http/Kernel.php 에 정의됩니다.

      app/Http/Kernel.php 를 보시면 auth 라는 라우트 미들웨어는 Illuminate\Auth\Middleware\Authenticate 입니다.

      Illuminate\Auth\Middleware\Authenticate 를 보시면 로그인에 실패하면 AuthenticationException 을 발생시킵니다.

      라라벨은 모든 예외를 app/Exceptions/Handler.php 에서 처리합니다.

      app/Exceptions/Handler.php 의 unauthenticated 메소드로 AuthenticationException 를 처리합니다.


      1. 갸르릉

        exception handler 를 수정하는 방법도 있네요^^

        좋은 정보 감사합니다^^

      2. 김경철

        예외 처리에서 unauthenticated 이 뭘 의미하는지 몰랐는데, Handler.php 에서 처리하는 거였군요.
        감사합니다!

      CommentAdd your comment...
    2.  
      2
      1
      0

      제가 알기로는 라라벨 자체에 해당 기능을 해주는 녀석은 없는 것으로 알고 있습니다.

      별도 패키지를 설치해서 사용하시면 될것 같습니다.

      https://github.com/uxweb/sweet-alert

      1. Junewon Park

        좋은 패키지 정보 감사합니다.

        위의 해결책과 같이 쓰면 좋을 듯하네요.

      CommentAdd your comment...