Esempio n. 1
0
 /**
  * @todo @project_access refactor
  *
  * @param Project       $project
  * @param ProjectAccess $access
  *
  * @return boolean
  */
 protected function grantProjectAccess(Project $project, ProjectAccess $access)
 {
     $args = ['auth:' . $project->getSlug()];
     if ($this->feature_ip_access_list || $access->getIp() === '0.0.0.0') {
         $args[] = $access->getIp();
     }
     if ($this->feature_token_access_list) {
         $args[] = $access->getToken();
     }
     $args = array_filter($args, function ($arg) {
         return strlen($arg) > 0;
     });
     return (bool) call_user_func_array([$this->redis, 'sadd'], $args);
 }
Esempio n. 2
0
 protected function isProjectAccessGranted(Project $project, ProjectAccess $access)
 {
     $authKey = 'auth:' . $project->getSlug();
     $results = $this->get('app_core.redis')->multi()->sismember($authKey, $access->getIp())->sismember($authKey, $access->getToken())->exec();
     return false !== array_search(true, $results);
 }