Je to koser, alebo uplna anarchia?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Yayo
- Člen | 1
Neviem ci je rozumne tu liezt, ale uz sa stalo…
problem:
uzivatel vyplni prihlasovaci formular a tem sa odosle na https. veselo bruzda a ked sa odhlasuje, stranka ho preleje na http. fakt som nevedel ako na to tak som skusil toto:
do PresenterRequest som vlozil tuto metodu:
public function getFlag($flag) {
if ( !array_key_exists($flag, $this->flags) ) {
throw new MemberAccessException();
}
return $this->flags[ $flag ];
}
poslednych par riadkov v Route::constructUrl som zmenil na
if ( $appRequest->hasFlag('secured') ) {
$uri = $appRequest->getFlag('secured') . $uri;
} else {
$uri = ($this->flags & self::SECURED ? 'https:' : 'http:') . $uri;
}
return $uri;
no a do Presenter::createRequest som prilial toto
$flags = array();
if ( in_array($scheme, array('http:', 'https:') ) ) {
$flags[ 'secured' ] = $scheme;
}
$this->lastCreatedRequest = new PresenterRequest(
$presenter,
PresenterRequest::FORWARD,
$args,
array(),
array(),
$flags
);
$this->lastCreatedRequestFlag = array('current' => $current);
no a cesticka vyzera takto:
$router[] = new Route(
<lang>/<presenter>/<action>/<id>,
array('lang' => 'sk', 'presenter' => 'Default', 'action' => 'default', 'id' => NULL),
( Environment::getHttpRequest()->isSecured() ? Route::SECURED : 0 ));
Takze je to OK, alebo to je na ho…