2009-10-30 3 views
2

Мое веб-приложение имеет только один уровень авторизации. Это либо вы вошли в систему, либо нет. Будет ли ACL излишним для этого? Будет ли компонент Auth достаточным/достаточно безопасным, чтобы справиться с этой ситуацией?CakePHP: ACL и/или Auth

Подходит ли CakePHP анонимным пользователям? Если да, есть ли способ отключить это? Я не думаю, что мне нужно проходить сеансы, если пользователь анонимный.

ответ

3

Компонент ACL необходим только в том случае, если вам необходимо обеспечить доступ к определенным частям сайта определенным группам пользователей, а не другим. Если вам нужно только знать, является ли кто-то пользователем или нет, Auth будет вас охватить.

По умолчанию сеансы создаются для всех. Если вы не используете их для анонимных пользователей, все равно оставлять их включенными все время, потому что а) это проще, и б) накладные расходы на это крайне минимальны. Если вы решите пойти дальше и выключить их, если не используете их, вы можете set Session.start to false в app/config/core.php.

Однако вам нужно будет добавить код, чтобы начать сеанс, когда пользователь вошел в систему. У вас могут также возникнуть проблемы с компонентом Auth. Он использует компонент Session, и я считаю, что он ожидает, что сеансы будут запущены при каждой загрузке страницы.

1

Короткий ответ: Может быть. Длинный ответ: кажется, что для случая, который вы объясняете, Auth должно быть достаточно (при условии, что вы также используете Sanitize, но это то, что вы также должны делать, если используете ACL).

Что касается использования сеансов, я не думаю, что вам нужно беспокоиться о том, что Cake использует их для анонимных пользователей, но я действительно не читал код. Во всяком случае, я не думаю, что будет легко отключить их для не зарегистрированных пользователей, но оставить их для входа в систему.

0

Использование компонента Auth прекрасно

Использование библиотеки дезинфицировать не имеет ничего общего с этим вообще. Зная торт, если что-то необходимо продезинфицировать совместно с AuthComponent, тогда этот компонент будет использовать Sanitize внутренне. Вам не нужно ничего с этим делать.

Если вы создали модель пользователя с идентификаторами, именами пользователей, полями пароля и просто включите компонент Auth в свой AppController и установите компонент для разрешения действия «display» (для главной страницы IE PagesController :: display («home») ');), который должен вас начать.

Поиск в googling или поиске bakery.cakephp.org должен превратить вас в хорошие учебники Auth.