Symfony2 security
A symfony2-ben a felhasználók azonosításának a konfigrálása a app\config\security.yml fájlban található. Itt lehet még a jogosultságokat is szabályozni, hogy ki mihez férhet hozzá. |
|
Példa:
security: encoders: Web\UserBundle\Entity\User: algorithm: bcrypt cost: 12 providers: chain_provider: chain: providers: [user_db] user_db: entity: { class: WebUserBundle:User, property: username } firewalls: secured_area: anonymous: ~ pattern: ^/ http_basic: ~ form_login: login_path: login check_path: login_check default_target_path: / logout: path: /logout target: / role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: [ ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ] access_control: - { path: ^/edit, roles: ROLE_ADMIN }Én jelen példában adatbázis alapú felhasználói azonosítást készítettem. Ehhez szükség lesz majd készíteni egy Web\UserBundle csomagot. Az encoders résznél bcrypt -es titkosítást választottam és 12-es "erősségűre" állítottam a titkosítást. Ezt lehet "erősebbre" is állítani, de megnőhet a titkosítás erőforrás igénye, ezért érdemes jól belőni az adott szerverhez, hogy mi az amit még elbír optimális sebesség mellett a szerver. A providers-nél beállíthatjuk, hogy adatbázisból és melyik entity-ből működjön majd az azonosítás. Itt beállíthatunk egyedi "kézzel" megadott felhasználóinevet és jelszót is. Role_hierarchy -nál a jogosultsági szinteket lehet variálni. A firewalls -ban a login és a login_check metódusok fogják a bejelentkezésnél ellenőrizni a felhasználók adatait. A default_target_path paraméter határozza meg, hogy hova fogunk bejelentkezés után átirányítódni. A logout-al pedig kijelentkezünk majd a gyökérbe. Az access_control-ban lehet beállítani, hogy melyik url-hez/route-hoz ki férhet hozzá. Itt pl az /edit route-hoz állítottuk be, hogy csak az admin jogosultságú személy léphet az oldalra. A szükséges bundle-t és a metódusokat a symfony2 dokumentációjában levő példából könnyen el lehet készíteni: http://symfony.com/doc/current/cookbook/security/entity_provider.html Olvasnivaló: http://symfony.com/doc/current/cookbook/security/index.html http://donna-oberes.blogspot.hu/2013/09/user-login-and-logout-step-by-step-with.html |
2014.11.29. |
Figyelem! Az itt olvasható leírások, nem teljesek és nem biztos, hogy pontosak. Nem
frissülnek folyamatosan, ezért nem mindegyik használható az aktuális verziójú rendszerekben. Mindenki saját
felelősségére használja az itt található ötleteket. Az esetleges károkért nem vállalunk felelősséget.