Va fi Django o alegere bună pentru un permisiuni bazat pe web-app?




Am fost explorarea detaliile Django timp de aproximativ o săptămână acum și place ce văd. Cu toate acestea am venit peste unele .. negativitate în ceea ce privește cu granulație fină controlul permisiunilor interfeței CRUD.


Ceea ce am scris este un Intranet de management client web-app. Organizația este de aproximativ 6 niveluri, și trebuie să restricționeze accesul la grupuri de clienți bazate pe niveluri. Se extind continuu. Am o idee destul de bună cum am de gând să fac asta, dar nu sunt sigur dacă voi fi capabil să-l integreze bine în interfața de pre-construit admin.


Am făcut zero absolut de dezvoltare Django altfel mi-ar avea, probabil, o idee mai bună dacă acest lucru ar funcționa sau nu. Eu, probabil, nu va folosi Django dacă interfața de administrare generată va fi inutil pentru acest proiect - dar cum am spus, există o încredere mare pe permisiuni personalizate cu granulatie fina.


Django mă va lăsa să personalizate construi permisiuni / reguli și integra perfect în interfața de administrare CRUD?


Actualizați-One: Vreau să folosesc aplicația de administrare pentru a minimiza repitition de a genera interfete CRUD, deci da consider că este un must have.


Actualizați Doi:


Vreau să descrie permisiunile necesare pentru acest proiect.


Un client poate aparține uneia sau mai multe „magazine“. angajati full time ar trebui să poată edita clienții la magazinul lor (chiar dacă acestea aparțin la un alt magazin) numai. Cu toate acestea, ele nu ar trebui să poată vedea / edita clienții la un alt magazin. Casuals ar trebui să fie doar posibilitatea de a vizualiza clienții bazate pe ceea ce magazin acestea sunt prea rostered (sau în cazul în care casual este conectat ca utilizatorul magazin - mai probabil).


Managementul deasupra lor trebuie să fie capabil de a vedea toți angajații pentru magazinele pe care le gestionează, nimic mai mult.


Conducerea superioară ar trebui să fie în măsură să editeze toți angajații și permisiunile de grant de mai jos ei înșiși.


După citirea documentației Django, se spune că nu poate (autmoatically) să setați permisiuni pentru un sub-set al unui grup. Numai întregul grup. Este destul de ușor să-și bată joc propriile tale permisiuni pentru acest scop?
Dacă am citit corect cerințele dumneavoastră actualizate, nu cred că sistemul de autorizare existent Django va fi suficient. Se pare ca ai nevoie de un sistem complet pe ACL.


Acest subiect a venit un număr de ori. Încercați googling pe Django + acl.


sampling aleatoare ...


A fost o vară de proiect Cod câțiva ani în urmă, dar nu sunt sigur în cazul în care au ajuns la. A se vedea <http://code.djangoproject.com/wiki/GenericAuthorization>


Există un bilet proaspăt la djngoproject.org care ar putea fi interesant:


* <http://code.djangoproject.com/ticket/9444>


Există un cod interesant isteațo pe dumpz.org:


* <http://dumpz.org/274/> models.py
* <http://dumpz.org/273/> signals.py


... dar sunt zero documente.


Mult noroc!
Nu știu care versiune de [Drupal](/cat17) pe care o
conduceți, dar nu ar trebui să facă atât de mult o altă diferență
decât modulele disponibile pentru dvs.


Practic, [Drupal](/cat17) are un API de cache care
funcționează prin stocarea a ceea ce vrea să cache în DB în tabele
care încep cu `cache _` , folosind
`cache_set` și `cache_get` . În cazul în care
site-ul are o mulțime de trafic, adăugate deasupra capului de
lectură și scrie la DB poate aduce în jos. Aceste funcții vor
funcționa cu oricare dintre modulele de cache pe care le înlocuiți
cu cel original, de exemplu cu:


Pentru a veni peste acest lucru, puteți adăuga diverse module
pentru a modifica memoria cache, de exemplu, utilizând
**[memcache](https://drupal.org/project/memcache)** , pentru a stoca valorile
cache-ului în memorie, mai degrabă în DB. Totuși, va trebui să
configurați o instanță memcache pe server și apoi să o configurați
în settings.php, dar toate acestea sunt explicate în memoria
readme.


Există o șansă foarte bună ca site-ul să sufere din cauza
viziunilor de pe pagină. M-aș uita la punctele de vedere și să văd
dacă fac ceva care este foarte lent. Vizionările sunt întotdeauna
grele în DB. Poate doriți să treceți prin fiecare vizionare și să
modificați (sau chiar să activați) temporizările și setările
cache-ului.


S-ar putea să suferiți deoarece aveți foarte mulți utilizatori
conectați pe site și vor trece de o mulțime de memorie cache,
astfel încât să puteți încerca **[Modul
AuthCache](https://drupal.org/project/%20authcache)** , care vă permite să reglați fin cache-ul
blocurilor pentru utilizatorii conectați.


De asemenea, puteți efectua anumite căutări pentru site-uri cu
trafic ridicat și cache pentru drupal. Am găsit destul de multe
când am fost otimizing un site am fost de lucru cu ~ 100'000 de
vizitatori pe zi. 1. Aveți posibilitatea de a vinde software-ul.
2. Nu, nu sunteți obligat să furnizați codul sursă.
3. Oricine primește *codul sursă* poate face ca permis de licență. Aceasta nu se extinde la binar distribuții.


Citiți licența MIT. Citește totul și înțelege totul. Acesta a fost menit să fie citit de către oameni obișnuiți, spre deosebire de alte licențe care sunt foarte complexe:



> 
> Copyright (c) *an* *titularii de drepturi de autor*
> 
> 
> Permisiunea se acordă, gratuit, de
> gratuit, oricărei persoane care obține o copie
> a acestui software și asociate
> fișierele de documentație ("Software"),
> pentru a face față în Software-ul fără
> restricție, inclusiv, dar fără
> limitare la drepturile de utilizare, copiere,
> modifica, uni, publica, distribui,
> sublicenția, și/sau vinde copii ale
> Software-ul, și pentru a permite persoanelor
> care Software-ul este mobilat să facă
> deci, sub rezerva următoarelor
> condiții:
> 
> 
> de copyright de mai sus și acest
> notificare de permisiune vor fi incluse în
> toate copiile sau porțiunile substanțiale ale
> Software-ul.
> 
> 
> SOFTWARE-ul ESTE FURNIZAT "CA ESTE",
> FĂRĂ NICIUN FEL DE GARANȚIE, EXPRESĂ
> SAU IMPLICITE, INCLUSIV, DAR NU LIMITAT
> LA GARANȚIILE DE VANDABILITATE,
> potrivire PENTRU UN ANUMIT SCOP ȘI
> NEÎNCĂLCARE. IN NICI UN CAZ
> AUTORII SAU DEȚINĂTORII drepturilor de AUTOR FI RESPONSABIL
> PENTRU ORICE REVENDICARE, DAUNE SAU ALTE
> RĂSPUNDEREA, FIE ÎN ACȚIUNE DE
> CONTRACT, PREJUDICIU SAU ALTFEL, rezulta
> din, DIN SAU ÎN LEGĂTURĂ CU
> SOFTWARE-ul SAU UTILIZAREA SAU ALTE TRANZACȚII
> ÎN SOFTWARE-ul.
> 
> 
> pe serverele noastre , atât shared cât si vps (administrate de hostico) se poate instala în principiu orice cms (content management system)  bazat pe php, așa cum ar fi wordpress, prestashop, magento, etc. aceste aplicații po fi instalate fie manual, fie folosind softaculous .dacă doriţi să instalaţi însă o aplicaţie mai puţin cunoscută sau uzuală vă rugăm să ne contactaţi. depinde pentru ce doriti sa cumparati? Git este foarte rapid, cântare foarte bine, și este foarte transparent despre conceptele sale. Partea de jos de acest lucru este faptul că are o relativ curbă de învățare abruptă. Un Win32 port este disponibil, dar nu destul de un prim-clasă cetățean. Git expune hash ca numere de versiune pentru utilizatori; aceasta oferă garanții (în care un singur hash se referă întotdeauna la același conținut; un atacator poate modifica istoria fără a fi detectat), dar poate fi dificil pentru utilizator. Git are un concept unic de urmărire conținutul fișierului, chiar și cei conținutul muta între fișiere și fișiere de vedere, ca prim nivel de obiecte, dar nu urmări directoare. O altă problemă cu git este că are multe operațiuni (cum ar fi *rebazare*), ceea ce face ușor de a modifica istoria (într-un sens, de conținut menționate de un hash nu se va schimba niciodată, dar referirile la acel hash pot fi pierdute); unii puriști (inclusiv eu) nu't place foarte mult.


Bazar este rezonabil de rapid (foarte rapid pentru arbori cu istorie superficială, dar în prezent cântare prost cu istoria lungime), și este ușor de a învăța de la cei familiarizați cu interfețe de linie de comandă tradiționale SCMs (CVS, SVN, etc). Win32 este considerat un prim-clasa țintă de către echipa de dezvoltare. Ea are o pluggable arhitectura pentru diferite componente, și înlocuiește său format de stocare frecvent; acest lucru le permite să introducă noi caracteristici (cum ar fi mai bine suport pentru integrarea cu revizuirea sistemelor de control bazate pe concepte diferite) și de a îmbunătăți performanța. Bazar echipa consideră directorul de urmărire și redenumiți-suport de prima clasa funcționalitate. În timp ce la nivel global unic de revizuire id-ul de identificare sunt disponibile pentru toate revizuirile, copac-locale revnos (revizuire standard de numere, mai asemănător cu cele folosite de svn sau alte mai convenționale SCMs) sunt folosite în loc de conținut hash-uri pentru identificarea revizii. Bazar are suport pentru "ușor case de marcat", în care istoria este tinut pe un server de la distanță în loc de copiat la sistemul local și este trimisă automat la rețea atunci când este necesar; în prezent, acest lucru este unic printre DSCMs.


Ambele au o formă de SVN integrarea disponibile; cu toate acestea, bzr-svn este capabil de mult mai mult decât git-svn, în mare parte datorită backend format modificările introduse în acest scop. *[Update, ca din 2014: Cel de-al treilea-petrecere produs comercial SubGit oferă o interfață bidirecțională între SVN și Git care este comparabil în fidelitatea față de bzr-svn, și mult mai lustruit; I **puternic** recomanda utilizarea lui pe care de git-svn când buget și de acordare a licențelor constrângeri permis].*


Nu am folosit Mercurial pe scară largă, și deci nu pot să comentez în detaliu-cu excepția să rețineți că, la fel ca Git, are un conținut-hash abordarea pentru revizii; de asemenea, astfel de Git, nu trateze directoarele ca prima-clasa de obiecte (și nu poate stoca un director gol). Cu toate acestea, este mai rapid decât orice alt DSCM cu excepția Git, si are mult mai bună IDE integrare (în special pentru Eclipsa) decât oricare dintre concurenții săi. Având în vedere caracteristicile de performanță (care gal-ul doar ușor în spatele celor de Git) și superior cross-platform și IDE sprijin, Mercurial poate fi convingătoare pentru echipe cu număr semnificativ de win32-centrice sau IDE-legat de membri.


O preocupare în migrarea de la SVN este că SVN's interfețe GUI IDE și integrare sunt mult mai matur decât cei de oricare dintre distribuite SCMs. De asemenea, dacă aveți în prezent face uz grele de precommit script de automatizare cu SVN (de exemplu. necesită o unitate de teste pentru a trece înainte de a o comite poate continua), nu'll, probabil, doriți să utilizați un instrument similar cu [PQM](https://launchpad.net/pqm) pentru automatizarea merge cereri de la filiale comune.


SVK este un DSCM care utilizează Subversiune ca sprijinul magazin, și are destul de buna integrare cu SVN-centrice instrumente. Cu toate acestea, ea are în mod dramatic mai rău de performanță și scalabilitate caracteristici decat orice alt mare DSCM (chiar Darcs), și ar trebui să fie evitate pentru proiecte care sunt de natură să crească mare în termeni de lungime de istorie sau numărul de fișiere.


[Despre autor: eu folosesc Git și vrând-Nevrând de muncă, și Bazar pentru proiectele mele personale și ca o funcție de bibliotecă; alte părți ale angajatorului meu's utilizare organizația Mercurial puternic. Într-o viață anterioară am construit o mare de automatizare jurul SVN; înainte de asta am experiență cu GNU Arc, BitKeeper, CV-uri și altele. Git fost destul off-punerea în prim-am simtit ca Arch GNU în măsura în care a fi un concept greu de mediu, spre deosebire de instrumente construite pentru a se conforma la utilizator's gamă de fluxuri de lucru ... dar m-am'am ajuns să fie destul de confortabil cu ea]. poți doar unul. Îți trebuie cont microsoft. depinde de ce nivel.lasa id-ul tau sa vorbim... intrucat situatia cu care va confruntati este una de natura juridica, va sfatuim ca, inainte de orice demers, sa consultati un specialist (consilier juridic / avocat); chiar daca nu apelati la servicii juridice permanente, informatiile obtinute intr-o sedinta de consiliere cu siguranta va vor ajuta sa va clarificati asupra demersurilor pe care trebuie sa le intreprindeti.
din informatiile noastre, nu exista astfel de conditii cu privire la dobandirea si exercitarea dreptului de proprietate de catre persoanele juridice.
deschiderea unui punct de lucru este considerata o optiune de extindere activitatii si nu o obligatie (deci un punct de lucru presupune o minima activitate).
o ingradire specifica persoanelor juridice este cea legata de incadrarea tuturor actelor si faptelor proprii in obiectul de activitate asumat, insa nu credem ca trebuie continuata aceasta analiza intrucat, din cate intelegem, aveti deja in desfasurare contracte de inchiriere.
un articol util despre infiintarea si declararea punctelor de lucru:

https://contabilul.manager.ro/a/12649/cand-declaram-obligatoriu-un-punct-de-lucru-e-situatia-diferita-cand-avem-un-depozit.html va multumim pentru interesul si increderea acordate sectiunii noastre de consultanta.
in principiu, bancile nu au stabilite restrictii cu privire la numarul de credite pe care un solicitant le are sau doreste sa le acceseze; exista insa reguli specifice fiecarei institutii si produs de credit in parte cu privire la gradul de indatorare. prin urmare, consideram ca cele mai importante aspecte de analizat in planul dumneavoastra de investitie sunt: valoarea veniturilor lunare ale persoanei care solicita imprumutul (sau ale familiei, daca este cazul) si valoarea lunara a ratelor pe care trebuie sa le achite (si tipul acestora, pentru ca bancile au politici diferite legate de gradul maxim de indatorare, in functie tipul creditelor – de consum, ipotecare).
recomandarea noastra este sa va consultati cu mai multe banci sau cu un broker de credite care lucreaza cu mai multi furnizori si sa analizati ofertele si variantele pe care vi le ofera. asa cum am aratat mai sus, fiecare are o politica proprie / un set de conditii de eligibilitate, dar si produse specifice despre care puteti afla solicitand o oferta completa, personalizata.
in speranta ca detaliile de mai sus va sunt utile, va dorim mult succes in demersurile viitoare si va mai asteptam oricand veti avea neclaritati cu privire la piata imobiliara. se pot face anumite modificari apartamentelor fara a fi necesara o autorizatie, insa acestea nu trebuie sa afecteze structura de rezistenta sau alte caracteristici esentiale ale imobilului. prin urmare, sunt permise lucrari de genul: reparatii pereti / balcon, inlocuire tamplarie exterioara / interioara, zugraveli / finisaje s.a.

planurile dumneavoastra insa aduc modificari structurii si compartimenarii apartamentului; prin urmare, pentru a putea executa aceste lucrari este necesara obtinerea autorizatiei de constuire/ desfiintare de la primaria locala. lista actelor necesare depunerii dosarului de autorizare ar trebui sa fie publicata pe site-ul institutiei, insa, cel mai probabil, veti avea nevoie, printre altele, de certificat de urbanism (se obtine tot de la primarie) si de documentatia tehnica a proiectului, pentru care va trebui sa apelati la specialisti in domeniu.

legat de pret, nu va putem oferi o estimare, depinde proiectul final, de firmele la care veti apela pentru acesta s.a. este posibil sa primiti sfaturi / indrumari utile legate de furnizori de astfel de servicii, dar si de preturi, de la serviciul de urbanism din cadrul primariei.

in speranta ca detaliile de mai sus va sunt utile, va dorim mult succes si va mai asteptam oricand veti avea neclaritati cu privire la piata imobiliara.