HttpAuthExtension aneb HTTP autentizace přes config

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

HttpAuthExtension

Ahoj.

Rád bych představil jednoduchou extenzi configu,
která umí primitivním způsobem zajistit HTTP autentizaci.

Použití

bootstrap.php

HttpAuthExtension::register( $configurator );

config.neon

httpAuth:
	username: admin
	password: ***

Využití

Může se hodit, když chceme klientovi ukázat web
v ostrém prostředí a ochránit ho touto cestou.

Navíc můžeme definici vložit do production sekce
configu, čímž nás nebude obtěžovat ve vývojovém
prostředí…

Enjoy.

Editoval uestla (4. 11. 2012 0:31)

Jirda
Člen | 103
+
0
-

Pěkné, jednoduché.

pekelnik
Člen | 462
+
0
-

Super napad :)

MartyIX
Člen | 217
+
0
-

+1

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Moc hezká věc :)

pjoter
Člen | 118
+
0
-

Ahoj,

fajn extenžn jen se mi nedaří aby fungovala jen pro jeden modul. Mám FrontModule a AdminModule a potřebuju zapnout autentizaci pro FrontModule. Neporadí mě prosím někdo jak na to ?

uestla
Backer | 799
+
0
-

Využití extenze bylo zamýšleno globálně na celou aplikaci.

Nicméně: extenze využít nemusíš, ale můžeš použít čistě HttpAuthenticator jako službu (budu psát z paty, takže se omlouvám za případné chyby):

parameters:
	httpAuth:
		username: admin
		password: ***
		title: '...'

services:
	- HttpAuthExtension\HttpAuthenticator( ..., %httpAuth.username%, %httpAuth.password%, %httpAuth.title% )

V BasePresenteru BackendModulu pak můžeš mít

abstract class BasePresenter extends UI\Presenter
{
	private $httpAuthenticator;


	function __construct(HttpAuthExtension\HttpAuthenticator $a)
	{
		$this->httpAuthenticator = $a;
	}


	protected function startup()
	{
		parent::startup();

		$this->httpAuthenticator->run();
	}
}

Pokud to ale chceš používat ve smyslu ochrany přístupu do backoffice webu, tak to silně nedoporučuji, použij klasičtější cestu.