douzi7219 2014-10-14 19:40
浏览 34
已采纳

在PHP F3框架中实现身份验证

What's the recommended way of doing the auth checks? I really don't want to duplicate the auth checks all over the code in every single route, and while they have the before/after route hooks if you use objects, I would still like to minimize how often I'm repeating that code.

Is there a global 'before/after' route hook for everything and/or what's the recommended way of solving this problem?

  • 写回答

1条回答 默认 最新

  • dpcnm2132 2014-10-15 09:59
    关注

    If you don't want to duplicate the auth checks in every single route, then you'd better create a base class extended by every single controller class:

    abstract class secureController {
    
      function beforeRoute($f3,$params) {
        //...
        if ($auth_failed)
          $f3->error(401);//or 403
      }
    
    }
    
    class controller1 extends secureController {
    
      function route1() {}
      function route2() {}
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?