Jak přiřadit uževatelum role v config.neon

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

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)

marcelxy
Člen | 70
+
0
-

to jako že nikdo neví nebo se ptám na blbém místě??

Jan Tvrdík
Nette guru | 2595
+
0
-

Sekce users je pro Nette\Security\SimpleAuthenticator, který role neumí.

marcelxy
Člen | 70
+
0
-

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
+
0
-

@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
+
0
-

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
+
0
-

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
+
0
-

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]}
Jan Tvrdík
Nette guru | 2595
+
0
-

@matej21: Pošli pull request.

marcelxy
Člen | 70
+
0
-

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
+
0
-

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
+
0
-

@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%)
marcelxy
Člen | 70
+
0
-

ok tak to zkusim tak nějak jsem to potřeboval snad to pojede diky všem za rady a trpělivost!

David Matějka
Moderator | 6445
+
+1
-

tak role uz jsou nativne podporovane (zatim pouze na dev verzi nette), zapis roli muze vypadat takhle: https://github.com/…ticator.neon