/ / codeigniter дозволені дії користувача - codeigniter

codeigniter - допустимі дії користувача - кодігн

привіт, як правило, контролер mvc codeigniter приймає ідентифікатор як параметр для функції контролера. Наприклад: / фото / редагування / 1

Користувач змінить ідентифікатор зображення 1 із фотографіїконтролер. Яка найкраща практика заборонити користувачеві редагувати чуже зображення… наприклад, редагувати ідентифікатор 2? Обмеження повинно включати не лише перевірку зареєстрованого користувача, оскільки зареєстрований користувач все одно зможе редагувати зображення 2.

Я думав, що напишу цю бібліотекуреалізує функцію дозволу, яка викликається для всіх функцій контролера. Я передав би ідентифікатор користувача та URL-адресу функції бібліотеки, яка містила б логіку, щоб перевірити, чи може користувач виконати цю функцію або в цьому випадку відредагувати зображення.

Проблема, яку я бачу, полягає в тому ... буде нудно писати логічний код для всіх функцій мого сайту, оскільки кожна з них відрізняється логікою. Чи існує кращий загально практикується спосіб?

Відповіді:

3 для відповіді № 1

Як правило, ви проводите перевірку вконтролера, тому якщо, наприклад, у вас є зареєстрований користувач і об'єкт фотографії з бази даних, просто збережіть власника фотографії у записі бази даних і порівняйте їх.

Насправді не все так нудно, ви просто перевіряєте право власності на об’єкт перед обробкою дій над ним.

приклад ...

if ($the_user->id == $the_photo->owner_id) {
//allow their actions
}
else {
redirect("/");   //if not, kick em out
}