![]() |
|
Snippets |
|
Here is a little hack to use http auth when credentials or auth is insufficient:
public function executeSecure() { if (!$this->getUser()->hasAttribute("secure_referer")) $this->getUser()->setAttribute("secure_referer", $this->getRequest()->getReferer()); if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="Member Area"'); header('HTTP/1.0 401 Unauthorized'); return sfView::NONE; } else { if ($this->getUser()->tryLogin($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW'])) { return $this->redirect($this->getUser()->getAttribute("secure_referer")); } else { header('WWW-Authenticate: Basic realm="Member Area"'); header('HTTP/1.0 401 Unauthorized'); return sfView::NONE; } } }
No template is needed, as everytime you access it will redirect to the referer. Then change in app/yourapp/config/settings.yml the secure_module and secure_action to match this module.
You will need a myUser::tryLogin function that returns a boolean saying "auth is ok" or "bad auth"
And then you're done :p
[from my Wiki Post ab out that]