2016-06-21 1 views
0

Есть ли способ ограничить доступ к моему приложению PHP для приложений только для определенного набора владельцев учетных записей Google (которые во время входа в систему)? Дополнительным требованием являются скрипты PHP на моем сайте, которые будут вызываться через AJAX. Это нормально, если пользователи не видят приглашения для входа в систему Google, поскольку они являются внутренними пользователями и будут знать, что они должны быть уже зарегистрированы.Ограничить доступ к моему приложению PHP-приложение для набора учетных записей Google?

Глядя на PHP app.yaml https://cloud.google.com/appengine/docs/php/config/appref#handlers_login и User auth info https://cloud.google.com/appengine/docs/php/users/#choosing_an_authentication_option Я wasn ' т ясно, каким образом это может быть достигнуто (отдельно для администратора ролей, которые слишком разрешительный для этих пользователей)

Спасибо, Alex

ответ

2

очень сырой/простое решение будет реализовано так:

В app.yaml, добавить что-то вроде этого

- url: .* 
    script: main.php 
    login: required 

Тогда в main.php, что-то вроде этого

$user = \google\appengine\api\users\UserService::getCurrentUser(); 
if($user) { 
    if(in_array($user->getEmail(), ['[email protected]', '[email protected]'])) { 
     // OK, user is allowed 
    } else { 
     // Logged in, but UNKNOWN user 
    } 
} else { 
    // User not logged in 
} 
+0

Выглядит хорошо, спасибо –

1

Вы можете легко использовать OAuth, чтобы заставить пользователей адрес электронной почты, аутентификации и использовать, чтобы позволить группа писем, чтобы квалифицировать и повышать oauthexception для других

+0

Спасибо , Вы имеете в виду в соответствии с примером Тома ниже или каким-то другим способом? –

+0

tom использует appengine, встроенный способ защиты URL-адреса с помощью механизма регистрации формы, а не oauth, но также будет работать, я полагаю. Oauth работает с учетными записями Google, немного громоздкими, но на самом деле это ваш выбор. – varun

Смежные вопросы