Triviální dotaz na ACL a nastavení v neonu
- tatyalien
- Člen | 239
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)
- tatyalien
- Člen | 239
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
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)