Отключить встроенную аутентификацию Yii - PullRequest
2 голосов
/ 10 октября 2011

Как отключить встроенную аутентификацию Yii?(/ site / login).

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

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

Я думаю, что вы можете просто удалить действия в контроллере сайта для входа в систему и выхода из системы, то есть actionLogin() и actionLogout() внутри mywebapp / protected / controllers / SiteController.php и представление для входа в систему, то есть mywebapp / protected / views / site / login.php ,а также удалите модель, т.е. внутри mywebapp / protected / models / LoginForm.php .Кроме того, я бы предложил вам либо изменить UserIdentity.php внутри папки mywebapp / protected / components , либо удалить его и написать свой собственный класс идентификации.Если вы хотите, чтобы какие-либо советы по написанию вашего класса личности, проверьте API на эту ссылку .

1 голос
/ 11 октября 2011

Это отчасти зависит от того, как ваше расширение управляет контролем доступа, и я полагаю, когда вы говорите «встроенная аутентификация», вы имеете в виду файлы, сгенерированные Gii.

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

Если ваше расширение не требует их, вы можете удалить файлы /views/site/login.php и /components/UserIdentity.php и другие связанные файлы, как уже упоминалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...