Jak přiřadit uževatelum role v config.neon
- marcelxy
- Člen | 70
Zdravím,prosím o drobnou radu nějak jsem nepochopil když mám přihlašovací jména a hesla a role nadefinované v samotnem config.neon jak tam nebo někde jinde? přiřadím těm jednotlivým jménům ty role jaké chci aby měli??
security:
users:
nekdo1:tajneheslo
nekdo2:tajneheslo2
roles:
guest:
member:
admin: [member] # admin dědí od membera
tak jak ted přiřadím tomu někomu tu roli třeba chci že: nekdo2 bude member a nekdo1 bude admin?? jak to tam mám napsat? diky za rady
Editoval marcelxy (4. 3. 2014 7:38)
- Jan Tvrdík
- Nette guru | 2595
Sekce users
je pro
Nette\Security\SimpleAuthenticator
, který role neumí.
- marcelxy
- Člen | 70
aha otom nikdo nikde nemluvi! že to nejde ba naopak tady se píše že to jde
Security
Uvedením pole users vytvoříme SimpleAuthenticator, uvedením polí roles nebo resources vytvoříme autorizátor Nette\Security\Permission.
nette:
security:
users:
frantisek: tajneheslo
roles:
guest:
member:
admin: [member] # admin dědí od membera
resources:
file:
tak jak to tedy je??
potřebuji vytvořit pár rolí a přidělit je ménúm nechci použivat db
nějak to musi jit??
mužu si napsat ten autorizátor sám a požit ty ména a role z cofigu.neon
ale jak mu řeknu které méno má jakou roli? to nevím?
Editoval marcelxy (4. 3. 2014 23:38)
- Tomáš Votruba
- Moderator | 1114
@marclexy Tam je to nešťastně spojené. Jde
o 2 rozdílné věci a nesouvisející věci.
Db se v tomto případě nevyhneš.
- Jan Tvrdík
- Nette guru | 2595
Db se v tomto případě nevyhneš.
To rozhodně není pravda. Data může zapsat klidně do
config.neon
nebo uložit třeba do JSONu.
- marcelxy
- Člen | 70
Jan Tvrdík napsal(a):
Db se v tomto případě nevyhneš.
To rozhodně není pravda. Data může zapsat klidně do
config.neon
nebo uložit třeba do JSONu.
ok tak když data mužu zapsat do configu.neon tak jak mám těm usrum přidelit ty role ??
users:
frantisek: tajneheslo [admin]
to asi ne! no ale nejak to musi jit?
Editoval marcelxy (4. 3. 2014 23:44)
- David Matějka
- Moderator | 6445
jak psal Jan Tvrdik, SimpleAuthenticator role neumi. Musis si napsat vlastni authenticator, ktery je bude podporovat
@Jan Tvrdik: co takhle tam tu podporu dodelat? :) to by nemuselo byt na skodu :)
users:
frantisek: {password: heslo, roles: [admin]}
- marcelxy
- Člen | 70
aha tak ted sem z toho trošku jelen, sem začatečník takže napsat si vlastní authetikator by bylo asi nad moje síly!ale mé znalosti jsou dostatečné na to abych věděl že je uplně jedno kde ty data a role ten authentikator čte jestli z db nebo s nějakeho array() nebo s .neon nebo .joson já se jen chci vyhnou te db jedna se o jednoduchý web kde nechci dělat admin zonu proto to chci udělat bez db! aby se to cele dalo editovat z text.php a mohl to editovat a spravovat i laik.ti uživatelé tam nebudou nic zapisovat jen budou číst data z toho webu a podle rolí budou mít přístup jen k některým datúm proto potřebuji ty role!! takže neexistuje nejaká jednoduchá cesta jak ten authentikator ktery už je tam připravený pro tabulku users mu říct aby ty přístupy a role prostě četl někde jinde ne z db?? potřebuji tam pár rolí pár přistupú které se nebudou nějak často měnit to je vše neexistuje nějaká easy cesta?? protože jestli ne tak to je asi jednoduchši použít db a udělat k tomu admin na usery než si vymýšlet vlastní athetikátor ne??
- jasir
- Člen | 746
Kdysi jsem to dělal tak, že jsem připravil vlastní službu Permissions
acl:
class: Nette\Security\Permission
setup:
# Roles
- addRole(guest) # default role
- addRole(customer, [guest]) # external customer
- addRole(user, [guest]) # user (internal)
- addRole(editor, [guest, user]) # can edit pages
- addRole(customer-admin, [guest, user]) # can edit customers
- addRole(superuser) # superuser can do everything
# Resources
- addResource(public) # public resource
- addResource(internal) # internal resource
- addResource(administration) # basic access to administration pages
- addResource(pages-administration) # pages administration
- addResource(advanced-pages-administration) # advanced pages administration - changing keys etc.
- addResource(users-administration) # users administration
- addResource(customers-administration) # customers administration
# ACL List
- allow(guest, public)
- allow(user, administration)
- allow(user, internal)
- allow(editor, [pages-administration, administration])
- allow(customer-admin, [administration, customers-administration])
- allow(superuser)
- David Matějka
- Moderator | 6445
@marcelxy: ok, tak vem si ten authenticator, co upravuju v tom pullrequestu https://gist.github.com/matej21/9364959, uloz si ho nekam (treba do app/models) a v neonu ho registruj a predej mu usery, ktery vytvoris v parameters (takze v nette/security/users muzes ty uzivatele smazat)
nette:
security:
#tady uz nebudou users, ale jen ty roles apod.
parameters:
users:
admin: {password: 12456, roles: [admin, moderator]}
services:
- MyAuthenticator(%users%)
- David Matějka
- Moderator | 6445
tak role uz jsou nativne podporovane (zatim pouze na dev verzi nette), zapis roli muze vypadat takhle: https://github.com/…ticator.neon