Я понял это давным-давно, но я так и не удосужился ответить на вопрос.Итак, вот что я сделал
$WebAuth_find = $FILMAKER->newFindCommand('WebAccess');
$Search_findCriterions = array('Access::cntdPhoneNumberDisplayCalc'=>"==".$find,'Access::phoneType'=>"E-mail",'Access::phoneMain'=>"==1",'LoginAccess'=>'1');
foreach($Search_findCriterions as $key=>$value) {
$WebAuth_find->AddFindCriterion($key,$value);
}
$WebAuth_Result = $WebAuth_find->execute();
if (FileMaker::isError($WebAuth_Result) && $WebAuth_Result->code == 401) {
echo "FM ERROR CODE: ".$WebAuth_Result->code."<br>"."ERROR: ".$WebAuth_Result->getMessage();
Это идентифицирует текущего пользователя в базе данных Filemaker в макете WebAccess.Выдает сообщение об ошибке, если есть проблема.Теперь, когда я смотрю на текущего пользователя, мне нужно посмотреть, что находится в полях Comm Plus и PDQ базы данных, и создать сеанс для хранения информации.
else{
$FinalResult = current($WebAuth_Result->getRecords());
$_SESSION['district']= $district;
$PDQ = $FinalResult->getField('PDQ_subscription');
$_SESSION['PDQ'] = $PDQ;
$CommPlus = $FinalResult->getField('CommPlus_subscription');
$_SESSION['CommPlus'] = $CommPlus;
Затем я просто добавляюследующий код в верхней части любой страницы, к которой я хочу ограничить доступ.Он просматривает сеанс, чтобы увидеть, есть ли у текущего пользователя учетные данные, если они не направлены на страницу запрещенного доступа.
$PDQ_check = $_SESSION['PDQ'];
if (!isset($PDQ_check) || $PDQ_check == '' || $PDQ_check == '0'){
drupal_goto("access-denied");
exit();
}