Triviální dotaz na ACL a nastavení v neonu

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

Dobrý den,
předem se omlouvám, když jsem měl acl pomocí inisouboru, vše mě fungovalo jak má, ale když jsem si to předělal do neonu, tak mě to nejede, hodí mě to laděnku na:

Nette\AmbiguousServiceException
Cannot instantiate service ‚Nette\Security\IAuthenticator‘, class ‚AclProj\Security\Acl‘ not found. search

NEON:

<?php
#
# SECURITY WARNING: it is CRITICAL that this file & directory are NOT accessible directly via a web browser!
# https://nette.org/en/security-warning
#
common:
	php:
		date.timezone: Europe/Prague
		session.save_path: "%tempDir%/sessions"

	service:
		Nette\Loaders\RobotLoader:
			option:
				directory: [%appDir%]
			run: true
		Nette\Security\IAuthenticator: AclProj\Security\Acl
		Nette\Security\IAuthorizator: AclProj\Security\Authenticator
	database:
		driver: mysql
		host: localhost
		database: acl
		username: xxx
		password: xxx

	security:
		salt: xxx

production < common:

development < common:
?>

Jinak vše dle návodu (i po kontrole oproti mému staršímu acl s použitím ini soubouru).

Předem prosím nekamenujte mě.

ACL:

<?php

namespace AclProj\Security;

use Nette\Security\Permission;

class Acl extends Permission
{
...
}
?>

Authenticator:

<?php

namespace AclProj\Security;

use	Nette\Object,
	Nette\Environment,
	Nette\Security\Identity,
	Nette\Security\IAuthenticator,
	Nette\Security\AuthenticationException,
	Model\User;

class Authenticator extends Object implements IAuthenticator
{
...
}
?>

Editoval tatyalien (17. 5. 2011 10:42)

srigi
Nette Blogger | 558
+
0
-

RobotLoader-u si nenakonfiguroval aby prehladaval libsDir!

tatyalien
Člen | 239
+
0
-

Tak robotLouderu dodáno, ale pak to končí stejně na hlášce:

Call to undefined method AclProj\Security\Acl::authenticate()

Přitom tato metoda je v class Authenticator extends Object implements IAuthenticator, ale hláška to hledá v class Acl extends Permission… Asi jsem z toho jelen, ale acl návod na ini verzy v pohodě s neonem na prd :(

studna
Člen | 181
+
0
-

Plete se ti Authenticator s Authorizatorem, viz.

Nette\Security\IAuthenticator: AclProj\Security\Acl
Nette\Security\IAuthorizator: AclProj\Security\Authenticator

uprav na

Nette\Security\IAuthenticator: AclProj\Security\Authenticator
Nette\Security\IAuthorizator: AclProj\Security\Acl

Editoval studna (17. 5. 2011 17:45)

tatyalien
Člen | 239
+
0
-

studna: díky, tohle jsem vážně přehlídl… :( už to fachá.