v AdminModule pre neprihlaseneho nepresmerovat 404 na ErrorPresenter ale na SignPresenter
- Jan Endel
- Člen | 1016
Šel bych na to asi nějak takto, podědil bych si aktuální
ErrorPresenter z distribuce a do mého nového bych danou funkcionalitu
dopsal. Teď jsem si uvědomil, že to co chceš, je vlastně blbost
která by strašlivým způsobem mátla uživatele.
public function actionDefault($exception)
{
//zjištění zda-li jsem v adminModulu
//pokud je $exception->getCode() == 404 přesměrování na SignPresenter
}
Druhá část se provede už snadno:
namespace AdminModule;
class SecuredPresenter extends BasePresenter
{
protected function startup()
{
parent::startup();
if (!$this->context->user->isLoggedIn() || !$this->context->user->isInRole('administrator')) {
$this->flashmessage('Pro přístup do administrace se musíte přihlásit.', 'error');
$this->redirect('Login:');
}
}
}
Editoval pilec (2. 2. 2012 23:50)
- duskohu
- Člen | 778
Dakujem toto by slo, ale trosku inak som to urobil
BasePresenter
FrontModule
HomepagePresenter
AdminModule
SecuredPresenter
a v som dal:
namespace AdminModule;
class SecuredPresenter extends \BasePresenter
{
protected function startup()
{
parent::startup();
if(!$this->isLinkCurrent('Login:in')){
if (!$this->context->user->isLoggedIn() || !$this->context->user->isInRole('administrator')) {
$this->flashmessage('Pro přístup do administrace se musíte přihlásit.', 'error');
$this->redirect('Login:');
}
}
}
}
a overujem ci niecom v Login:in, ale neviem ci je to dobre
takto dosiahnem to ze vsetko co nejde do Login:in od neprihlaseneho presmerujem
na Login:in takze nebude mat ani moznost zobrazit error 404, alebo nieco
dalsie.
Editoval duskohu (3. 2. 2012 0:16)
- duskohu
- Člen | 778
ale zase ked dam http://localhost/…uciPresenter tak je to v poriadku
ale ked dam:
http://localhost/…Neexistujuce
tak mi nenajde ten Presenter, takze to musim nakoniec dat do BasePresenter
Vsak?
- duskohu
- Člen | 778
ale pokial by som chcel skusat napr ci mam admin/test a ked mi vrati 404 tak neexistuje ale ak ma presmeruje na Login:in tak stranka existuje, a chcel by som zabranit pre neprihlaseneho uzivatela aby sa dostal k akejkolvek info o admine okrem toho co bude mat v Login:in
Ci paranoja???? :-)