Система входа в систему с одним идентификатором, но несколькими открытыми - имеет ли это смысл?Как реализовать в ZF? - PullRequest
0 голосов
/ 02 августа 2011

В последнее время я довольно часто видел, что вы можете назначить несколько openid для идентификатора пользователя.

  • a) Имеет ли это смысл реализовать или вы назначите одному профилю только один OpenID?
  • б) Как бы вы реализовали это в среде Zend Framework MVC.У вас есть пример кода / учебник?

Моя идея пока:

Я нашел что-то похожее для asp.net: http://www.west-wind.com/weblog/posts/2009/Sep/17/Integrating-OpenID-in-an-ASPNET-MVC-Application-using-DotNetOpenAuth

  • Модель базы данных: таблица для пользователяпрофили и вторая таблица для openid, которые назначены пользователю (MySQL).
  • Вход в систему:
  • a.Войдите в систему с Zend_Auth_Adapter_OpenId + (получить информацию о профиле из OpenId для новых пользователей)
  • b.Проверьте, существует ли пользователь.Если нет, создайте пользователя из профиля OpenId и перенаправьте пользователя на экран профиля, чтобы подтвердить информацию о пользователе
  • c.Если пользователь существует, подтвердите openid и получите профиль пользователя из базы данных.
  • d.Сохраните всю информацию и бизнес-логику в модели Zend_Auth, чтобы к ней можно было легко получить доступ из всего приложения

Поскольку у меня нет опыта работы с Zend, я был бы очень благодарен за подсказки о том, как расширитьZend Auth контроллер для этого?Даже больше, если кто-то может предоставить мне несколько примеров кода или учебник.

Спасибо!

1 Ответ

1 голос
/ 02 августа 2011

Имеет ли смысл реализовывать или вы назначаете одному профилю только один OpenID?

Вы должны помнить, что OpenId распространяется, что означает, что вы не контролируете входоказание услуг.Когда основной поставщик OpenID пользователя имеет время простоя, пользователь не может войти в ваше приложение - хотя ваши серверы работают нормально.

Разрешение пользователям предоставлять несколько OpenIds позволяет им минимизировать риск невозможности доступа к вашему приложению.


Я думал об одной и той же проблеме для моего любимого проекта SemanticScuttle, и я определенно реализую несколько OpenIds для одного пользователя.

...