2013-11-16 5 views
0

Я хочу использовать компонент auth для обработки входа в мой сайт, но я хочу идентифицировать пользователей, используя их имя пользователя и другое поле, которое они не видят. Причина в том, что я не хочу использовать уникальные имена пользователей, и я не хочу собирать адреса электронной почты.cakephp 2 логин с именем пользователя и другим полем?

Есть ли способ заставить компонент auth использовать имя пользователя и другое поле, скрытое для пользователя?

ответ

2

Имя пользователя должно быть уникальным. Это не просто ограничение автокомпонентов Cake - это ограничение ... ну ... вселенная, я думаю!

По правде говоря, у вас уже есть другое поле, которое скрыто для пользователя, которое может однозначно идентифицировать пользователей (поле id таблицы пользователей). Но проблема в том, что нет способа использовать его, когда пользователи пытаются войти в систему.

Подумайте об этом: Допустим, у вас было два пользователя, которых звали Фред. Но у каждого из них есть другое поле (id или другое поле), которое однозначно идентифицирует их. Что происходит, когда они попадают на страницу входа? Они входят в «Фред». Система обнаруживает, что есть два Фреда. Система знает обо всех уникальных полях, для каждого «Фреда» - но что? Как он знает, какой уникальный идентификатор должен включать в скрытое поле?

Итак, имена пользователей должны быть уникальными.

+0

как насчет того, если бы у меня была строка в URL-адресе, которая соответствовала ветке моих офисов (например). Если кто-то хочет войти в лондонский филиал, если в этом месте есть только одно имя пользователя Fred, вы можете использовать комбинацию имени пользователя и филиала. Нет ли способа сделать это? –

+0

Я предполагаю, что это возможно, но я уверен, что компонент Autake для Cake не понравится. Вам нужно будет сделать что-то обычай. И, я думаю, это может привести вас к миру боли, если, например. кто-то меняет офисы (в офис, где их имя пользователя дублируется), или ваши требования меняются каким-то другим способом вниз по треку. Я по-прежнему настоятельно рекомендую уникальные имена пользователей. –

+0

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

0

Да, это возможно, но способ, которым вы упоминаете, представляет собой угрозу безопасности. Если вы все еще хотите выполнить поиск полей аутентификации в кулинарной книге CakePHP.

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