Прежде всего, продолжайте и создайте модель User
, она вам понадобится.
При этом исключается: CUserIdentity
представляет концепцию «кто пользователь», в то время какмодель User
представляет «информацию о пользователе моего приложения».CUserIdentity
применимо во всех случаях, когда существует более одного типа пользователя (то есть гостя), тогда как модель User
применима только тогда, когда вы сами храните информацию о пользователях.Следует признать, что в большинстве случаев оба будут применимы, и именно это создает путаницу.
Обычно отношение между ними таково: CUserIdentity
, чтобы ответить на такие вопросы, как "кто "пользователь", "имеет ли пользователь доступ к этому ресурсу" и т. д. запрашивает модель User
из базы данных, чтобы получить информацию, необходимую для ответа на эти вопросы.Эта связь между этими двумя понятиями также задокументирована в окончательном руководстве по Yii.Например, после аутентификации пользователя он может предоставить часть или всю информацию о модели User
через свои собственные свойства (которые вы должны будете определить).
Чтобы привести пример сценария, в которомне модель User
, подумайте о веб-сайте, который позволяет вам входить в систему, используя свою учетную запись LDAP.Когда вызывается метод CUserIdentity::authenticate
, компонент аутентифицирует учетные данные на сервере LDAP и после успешной аутентификации снова получает любую другую соответствующую информацию и предоставляет ее через свои собственные свойства.