Django User defined permissions – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Django User defined permissions – Python – Fórum – Programujte.comDjango User defined permissions – Python – Fórum – Programujte.com

 

sleepy
~ Anonymní uživatel
422 příspěvků
13. 8. 2014   #1
-
0
-

Zdravim,

Chcem vo svojom projekte umoznit uzivatelovi vytvorit si a udelit vlastnu permisnu, na urcite view-y. Mam vytvoreny model PermissionProviders, ktory je prepojeny pomocou OneToOneField-u na Permission a ManyToManyField-u na User-ov, ktory mozu danu permission-u udelit inym userom. Ak model PermissionProviders nebude existovat pre dany permission, tento permission moze udelit, len superuser (cize standarden spravanie sa djanga). Tato permisna bude zviazana vzdy s konkretnym linkom, moj napad je zobrat link k danemu view-u, urobit z neho md5 a doplnit ho do codename danej permissiony. Asi takto: 

MD5 = hashlib.md5()
def link_related_permission_required(base_permission, raise_exception):
	def decorator(view_func):
		def _warapped_view(request, *args, **kwargs):
			path = request.get_full_path()
			MD5.update(path)
			path_digest = MD5.hexdigest()
			link_related_permission = '%s@link=%s' % base_permission, path_digest
			if request.user.has_perm(link_related_permission):
				return view_func(request, *args, **kwargs)
			# Zvysok kodu ked nebude splnat podminky,
			# Skopirovany prevazne s user_passes_test dekoratora
		return wraps(view_func)(_wrapped_view)
	return decorator
	

Je to dobry postup, alebo existuje lepsie riesenie?

Nahlásit jako SPAM
IP: 158.195.206.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

PHP: file permissions — založil Anonymní uživatel

User Control — založil Jan

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý