Auth не делает именно то, что вы хотите из коробки. Он может обрабатывать только то, требуется ли для доступа к действию аутентификация пользователя. Когда пользователь вошел в систему, Auth больше не заботится о доступе на уровне пользователя.
Если вы хотите использовать более двух полей, я предлагаю вам расширить AuthComponent и переписать метод входа в соответствии с вашими потребностями. Я никогда этого не делал, но думаю, что это достаточно просто.
Что касается ваших уровней доступа, я бы использовал ACL, который может управлять доступом к действиям всех контроллеров. После настройки вам придется вручную устанавливать разрешения для каждого действия, используя один из плагинов, написанных сообществом, или вручную.
Если вы хотите отключить часть ваших представлений, вам необходимо прочитать разрешения, чтобы проверить уровень доступа пользователя оттуда. Хорошо бы сохранить разрешения в файле кэша или в сеансе, когда пользователь входит в систему, чтобы сделать его доступным в представлении. Затем напишите свои тесты и подтвердите, что нужно.
(я использую CakePHP 2.0, я не знаю, насколько легко вы можете расширить AuthComponent в 1.3, если вы его используете)