Ako zabranit editacii zaznamu zmenou id v url adrese

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
cujan
Člen | 410
+
0
-

Caute, ako zabranim uzivatelovi, aby zmenu id v url adrese editoval zaznam, ktory mu nepatri…

napr.

…/edit/7 zmeni na …/edit/12 ale to uz nepatri jemu…

CZechBoY
Člen | 3608
+
0
-

Zkontroluješ jestli na to má práva, třeba v metodě checkRequirements nebo ještě přijatelné je v startup (obě metody jsou v presenteru, příp. checkRequirements i v komponentě).

Šaman
Člen | 2666
+
+4
-

Dávám přednost kontrole oprávnění na místě, kde se akce vykonává. checkRequirements používám jen pro obecnou kontrolu (třeba, že je uživatel přihlášen).

<?php
//presenter
public function actionEdit($id)
{
	$car = $this->carRepository->get($id);
	if (!($this->user->isAllowed('car', 'write') && $car->getOwner() === $this->user->id)) {
		$this->flashMessage('K této operaci nemáte oprávnění.', 'danger');
		$this->redirect('list');
	}
}

public function renderEdit($id)
{
	$car = $this->carRepository->get($id);
	$this->template->car = $car;
}
?>

Editoval Šaman (2. 1. 2017 22:45)