Вопрос по аутентификации

Ребята, помогите пожалуйста!

допустим у меня есть система, "школы", есть два типа пользователей - школа, ученик. Их функционал реализован по средствам модулей. Ученик всегда относится к какой нибудь школе, т.е. школа - ученик один ко многим. Но вот в чем сам вопрос - мне нужно, что бы из акка школы можно было перейти в любой акк своего ученика и вернутся обратно. Естественно из под ученика перейти в школу возможности не должно быть, как это будет правильно раздилить по средством фреймворка Йи?

я думал о такй схеме(она мне кажется костылем) - дать доступ в учеников аккаунту с ролью "школа", но при этом повсюду сверять айди передаваемый гетом, просто , прямоленейно, но как то не красиво. читал в документации, что можно использовать несколько классов аутентификации, но не особо понимаю, как это применить к моей задаче. еще, только что появилась идея, при переходе из школы к ученику передавать права в свойстве модели юзера а не гетом, но это скорее красивый костыль, чем верное решение.

прошу простить, если что говорю не так…

А зачем входить под учеником? Что бы читать его почту и данные?

Как бы ни было, по моему лучше оставаться всегда самим собой, но в сессию добавить поле с id ученика, под которым вы якобы зашли, и в коде проверять наличие этого поля, ну и действовать соответственно.

Смысл выходит тотже. На мой взгляд это выглядет достаточно "нагло". Но если других предложений не будет, то сделаю именно так, как вы сказали. Спасибо.

а доступ к редактированию/добавления кода есть?

Если да то почему бы не реализовать дополнительный модуль просмотра приватных сообщений и просмотр профиля для администратора?

Административный режим есть. Я просто постарался привести более менее адекватный пример, но видимо был в этом не прав. У меня вот какя задача - есть юзер, который дает рекламу, у него есть родитель, допустим они будут называться рекламодатель и рекламное агентство, так вот, функционал рекламного агентства отдельный, а вложенный функционал, к которому имеет доступ и Р и РА одинаковый, и уже написан для Р, админ - отдельная роль, которая может все, а здесь цель сделать все это в красивом интерфейсе без лишнего гемороя и в стиле Yii. Может опять не понятно выражаюсь, тогда простите меня.

Насколько я понимаю:

Есть контролер "рекламодатель" есть модель "рекламодатель" и есть вьюшка которая с ними работает. Нужно сделать такое же для юзеров, поскольку ничего нету?

Агенство предостовляет API для работы?

да, вы почти правильно поняли. Ни какое апи никому не придоставляется. Я реализовал отдельным классом аутентификации, в котором провожу проверки прав пользователей. Думаю, что это костыль, но он получился очень красивый…