Controlul accesului
Weblate este dotat cu un sistem de privilegii fin pentru a atribui permisiuni utilizatorilor pentru întreaga instanță sau pentru un domeniu limitat.
Schimbat în versiunea 3.0: Înainte de Weblate 3.0, sistemul de privilegii era bazat pe Django, dar acum este construit special pentru Weblate. Dacă e utilizat ceva mai vechi, vă rugăm să consultați documentația pentru versiunea specifică pe care o utilizați.
Cotrol acces simplu
Dacă nu administrați întreaga instalație Weblate și aveți acces doar pentru a gestiona anumite proiecte (ca în Hosted Weblate), opțiunile de gestionare a controlului accesului sunt limitate la următoarele setări. Dacă nu aveți nevoie de o configurare complexă, acestea sunt suficiente pentru dumneavoastră.
Control acces proiect
Notă
Această funcție nu este disponibilă pentru proiectele care rulează planul Libre pe Hosted Weblate.
Puteți limita accesul utilizatorilor la proiecte individuale selectând o altă setare Controlul accesului. Opțiunile disponibile sunt:
- public
Vizibil în mod public, traductibil pentru toți utilizatorii conectați.
- Protejat
Vizibil în mod public, dar traductibil doar pentru utilizatorii selectați.
- Privat
Vizibil și traductibil numai pentru utilizatorii selectați.
- Personalizat
User management vor fi dezactivate; în mod implicit, tuturor utilizatorilor le este interzis să efectueze orice acțiune în proiect. Va trebui să configurați toate permisiunile folosind Control acces personalizat.
Acces control poate fi modificat în fila Acces din configurația (Manage ↓ Settings) a fiecărui proiect respectiv.
Valoarea implicită poate fi modificată prin DEFAULT_ACCESS_CONTROL
.
Notă
Chiar și în cazul proiectelor Private, unele informații despre proiectul dumneavoastră vor fi expuse: statisticile și rezumatul limbii pentru întreaga instanță vor include cifrele pentru toate proiectele, în ciuda setărilor de control al accesului. Numele proiectului dvs. și alte informații nu pot fi dezvăluite prin intermediul acestui sistem.
Notă
Setul real de permisiuni disponibile în mod implicit pentru utilizatori în proiectele Public, Protected și Private poate fi redefinit de administratorul instanței Weblate folosind custom settings.
Atenționare
Prin activarea controlului de acces Custom, Weblate va elimina toate special groups pe care le-a creat pentru un proiect selectat. Dacă faceți acest lucru fără a avea permisiunea de administrator pentru întreaga instanță Weblate, vă veți pierde instantaneu accesul la gestionarea proiectului.
Vezi și
Gestionarea controlului accesului pe proiect
Utilizatorii cu privilegiul Manage project access (a se vedea privilege) pot gestiona utilizatorii din proiecte prin adăugarea acestora la echipe. Colecția inițială de echipe este furnizată de Weblate, dar pot fi definite și altele suplimentare care să ofere un control mai fin al accesului. Puteți limita echipele la limbi și le puteți atribui roluri de acces desemnate (a se vedea Lista de privilegii și roluri încorporate).
Următoarele echipe sunt create automat pentru fiecare proiect:
Pentru proiecte Public, Protected and Private:
- Administrare
Include toate permisiunile disponibile pentru proiect.
- Revizuire (numai dacă review workflow este activat)
Poate aproba traducerile în timpul revizuirii.
Numai pentru proiectele Protected și Private:
- Tradu
Poate traduce proiectul și poate încărca traducerile făcute offline.
- Surse
Poate edita șirurile de surse (dacă este permis în project settings) și informații despre șirurile de surse.
- Limbi
Poate gestiona limbile traduse (adăugarea sau eliminarea traducerilor).
- Glosar
Se poate gestiona glosarul (se pot adăuga sau elimina intrări, de asemenea se pot încărca).
- Memorie
Poate gestiona memoria de traducere.
- Capturi de ecran
Poate gestiona capturi de ecran (adăugați sau eliminați-le și asociați-le la șiruri de surse).
- Traducere automată
Se poate utiliza traducerea automată.
- Versiune Control Sistem VCS
Poate gestiona VCS și poate accesa depozitul exportat.
- Facturare
Poate accesa informațiile și setările de facturare (see Facturare).
Aceste caracteristici sunt disponibile pe pagina Access control, care poate fi accesată din meniul proiectului Manage ↓ Users.
Invitație utilizator nou
De asemenea, pe lângă adăugarea unui utilizator existent la proiect, este posibilă și invitarea altora noi. Orice utilizator nou va fi creat imediat, dar contul va rămâne inactiv până la conectarea cu ajutorul unui link din invitația trimisă prin e-mail. Nu este necesar să aveți privilegii la nivelul întregului site pentru a face acest lucru, permisiunea de gestionare a accesului pe domeniul de aplicare al proiectului (de exemplu, o apartenență la echipa Administration) ar fi suficientă.
Sugestie
În cazul în care utilizatorul invitat a ratat valabilitatea invitației, acesta își poate seta parola folosind adresa de e-mail invitată în formularul de resetare a parolei, deoarece contul este deja creat.
Nou în versiunea 3.11: Este posibil să se retrimită e-mailul pentru invitațiile utilizatorilor (invalidând orice invitație trimisă anterior).
Același tip de invitații sunt disponibile la nivelul întregului site de la : ref:interfața de administrare <management-interface> din fila Users.
Utilizator blocat
Nou în versiunea 4.7.
În cazul în care unii utilizatori se comportă urât în proiectul tău, ai opțiunea de a-i bloca să contribuie. Utilizatorul blocat va putea în continuare să vadă proiectul, dacă are permisiuni în acest sens, dar nu va putea contribui.
Gestionarea permisiunilor per proiect
Puteți seta proiectele dvs. la Protected sau Private și manage users per-proiect în interfața de utilizator Weblate.
În mod implicit, acest lucru împiedică Weblate să acorde accesul oferit de Users și Viewers default groups din cauza configurației proprii a acestor grupuri. Acest lucru nu vă împiedică să acordați permisiuni pentru aceste proiecte la nivelul întregului site prin modificarea grupurilor implicite, prin crearea unuia nou sau prin crearea unor setări personalizate suplimentare pentru componente individuale, așa cum este descris în Control acces personalizat de mai jos.
Unul dintre principalele avantaje ale gestionării permisiunilor prin intermediul interfeței de utilizator Weblate este că puteți delega acest lucru altor utilizatori fără a le acorda privilegiul de superutilizator. Pentru a face acest lucru, adăugați-i la echipa Administration a proiectului.
Control acces personalizat
Notă
Această funcție nu este disponibilă pentru proiectele care rulează planul Libre pe Hosted Weblate.
Sistemul de permisiuni se bazează pe grupuri și roluri, unde rolurile definesc un set de permisiuni, iar grupurile le leagă de utilizatori și traduceri, vezi Utilizatori, roluri, grupuri și permisiuni pentru mai multe detalii.
Cele mai puternice caracteristici ale sistemului de control al accesului la Weblate sunt deocamdată disponibile doar prin intermediul interfeței de administrare Django. O puteți utiliza pentru a gestiona permisiunile oricărui proiect. Nu trebuie neapărat să o comutați la Custom controlul accesului pentru a o utiliza. Cu toate acestea, trebuie să aveți privilegii de superutilizator pentru a o utiliza.
Dacă nu vă interesează detaliile implementării și doriți doar să creați o configurație suficient de simplă bazată pe valorile implicite sau dacă nu aveți acces la întreaga instalație Weblate la nivelul întregului site (ca în Hosted Weblate), vă rugăm să consultați secțiunea Cotrol acces simplu.
Configurații comune
Această secțiune conține o prezentare generală a unor configurații comune care ar putea să vă intereseze.
Gestionarea permisiunilor la nivelul întregului site
Pentru a gestiona simultan permisiunile pentru o întreagă instanță, adăugați utilizatorii la grupurile corespunzătoare default groups:
Utilizatori (acest lucru este făcut în mod implicit de către asignarea automată a grupului).
Revizori (dacă folosiți review workflow cu revizori dedicați).
Managers (dacă doriți să delegați majoritatea operațiunilor de gestionare altcuiva).
Ar trebui să păstrați toate proiectele configurate ca Public (see Control acces proiect)), în caz contrar permisiunile la nivel de site oferite de apartenența la grupurile Users și Reviewers nu vor avea niciun efect.
De asemenea, puteți acorda anumite permisiuni suplimentare la alegerea dumneavoastră grupurilor implicite. De exemplu, este posibil să doriți să acordați permisiunea de a gestiona capturi de ecran tuturor „Utilizatorilor”.
De asemenea, puteți defini noi grupuri personalizate. Dacă doriți să continuați să gestionați permisiunile la nivelul întregului site pentru aceste grupuri, alegeți o valoare corespunzătoare pentru Project selection (e.g. All projects or All public projects).
Permisiuni personalizate pentru limbi, componente sau proiecte
Puteți crea propriile grupuri dedicate pentru a gestiona permisiunile pentru obiecte distincte, cum ar fi limbile, componentele și proiectele. Deși aceste grupuri pot acorda doar privilegii suplimentare, nu puteți revoca nicio permisiune acordată de grupurile la nivel de site sau pe proiect prin adăugarea unui alt grup personalizat.
Exemplu:
Dacă doriți (indiferent de motiv) să permiteți traducerea într-o anumită limbă (să spunem Cehă) doar pentru un set închis de traducători de încredere, în timp ce traducerile în alte limbi rămân publice, va trebui să faceți acest lucru:
Eliminați permisiunea de a traduce în Cehă de la toți utilizatorii. În configurația implicită, acest lucru se poate face modificând Users default group.
Selectarea limbii
Cum este definit
Limbi
Toate în afară de Cehă
Adăugați un grup dedicat pentru traducătorii din Cehă.
Roluri
Utilizatori puternici
Selecția proiectului
Toate proiectele publice
Selectarea limbii
Cum este definit
Limbi
Cehă
Adăugați în acest grup utilizatorii cărora doriți să le acordați permisiuni.
După cum puteți vedea, gestionarea permisiunilor în acest mod este puternică, dar poate fi o sarcină destul de plictisitoare. Nu o puteți delega unui alt utilizator, cu excepția cazului în care acordați permisiuni de superutilizator.
Utilizatori, roluri, grupuri și permisiuni
Modelele de autentificare constau din mai multe obiecte:
- Permisiuni
Permisiune individuală definită de Weblate. Permisiunile nu pot fi atribuite utilizatorilor. Acest lucru se poate face numai prin atribuirea de roluri.
- Rol
Un rol definește un set de permisiuni. Acest lucru permite reutilizarea acestor seturi în mai multe locuri, facilitând administrarea.
- Utilizator
Utilizatorul poate face parte din mai multe grupuri.
- Grup
Gruparea conectează rolurile, utilizatorii și obiectele de autentificare (proiecte, limbi și liste de componente).
Notă
Un grup poate să nu aibă niciun rol atribuit, în acest caz se presupune că oricine are acces la parcurgerea proiectului (a se vedea mai jos).
Acces pentru navigarea la un proiect
Un utilizator trebuie să fie membru al unui grup legat de proiect sau de orice componentă din cadrul proiectului respectiv. Este suficient să fii membru, nu sunt necesare permisiuni specifice pentru a naviga în proiect (acest lucru este utilizat în grupul implicit Viewers, a se vedea Lista de grupuri).
Acces pentru navigarea la o componentă
Un utilizator poate accesa componente fără restricții odată ce poate accesa proiectul componentelor (și va avea toate permisiunile care i-au fost acordate pentru proiect). Cu Acces restricționat activat, accesul la componentă necesită permisiuni explicite pentru aceasta (sau pentru o listă de componente în care se află componenta).
Scopul grupurilor
Domeniul de aplicare al permisiunii atribuite de rolurile din grupuri se aplică în conformitate cu următoarele reguli:
Dacă grupul specifică orice Listă de componente, toate permisiunile acordate membrilor acelui grup sunt acordate pentru toate componentele din listele de componente atașate grupului, iar un acces fără permisiuni suplimentare este acordat pentru toate proiectele în care se află aceste componente. Componente și Proiecte sunt ignorate.
În cazul în care grupul specifică orice Components, toate permisiunile acordate membrilor acelui grup sunt acordate pentru toate componentele atașate grupului, iar un acces fără permisiuni suplimentare este acordat pentru toate proiectele în care se află aceste componente. Projects este ignorat.
În caz contrar, dacă grupul specifică orice Proiecte, fie prin enumerarea directă a acestora, fie prin faptul că Selecția proiectelor este setată la o valoare precum Toate proiectele publice, toate aceste permisiuni se aplică tuturor proiectelor, ceea ce acordă efectiv aceleași permisiuni de acces la toate proiectele componente fără restricții.
Restricțiile impuse de Languages ale unui grup sunt aplicate separat, atunci când se verifică dacă un utilizator are acces pentru a efectua anumite acțiuni. Mai exact, se aplică numai acțiunilor direct legate de procesul de traducere în sine, cum ar fi revizuirea, salvarea traducerilor, adăugarea de sugestii etc.
Sugestie
Utilizați Selecție limbă sau Selecție proiect pentru a automatiza includerea tuturor limbilor sau proiectelor.
Exemplu:
Să spunem că există un proiect
foo
cu componentele:foo/bar
șifoo/baz
și următorul grup:
Roluri
Revizuire șiruri de caractere, Gestionare depozit
Componente
foo/bar
Limbi
Spaniolă
Membrii acestui grup vor avea următoarele permisiuni (presupunând setările implicite ale rolului):
Acces general (navigare) la întregul proiect
foo
, inclusiv la ambele componente din el:foo/bar
șifoo/baz
.Revizuirea șirurilor de caractere în traducerea spaniolă
foo/bar
(nu în altă parte).Gestionați VCS pentru întregul depozit
foo/bar
, de exemplu, confirmați modificările în așteptare făcute de traducători pentru toate limbile.
Atribuirea automată a grupului
În partea de jos a paginii de editare Group din Interfața de administrare Django, puteți specifica Asemnări automate de grup, care este o listă de expresii regulate utilizate pentru a atribui automat utilizatorii nou creați unui grup pe baza adreselor de e-mail ale acestora. Această atribuire are loc numai la crearea contului.
Cel mai frecvent caz de utilizare a acestei funcții este acela de a atribui toți utilizatorii noi unui grup implicit. Pentru a face acest lucru, probabil că veți dori să păstrați valoarea implicită (^.*$
) în câmpul expresiei regulate. Un alt caz de utilizare pentru această opțiune ar putea fi acela de a acorda în mod implicit anumite privilegii suplimentare angajaților companiei dumneavoastră. Presupunând că toți aceștia folosesc adrese de e-mail corporative pe domeniul dumneavoastră, acest lucru poate fi realizat cu o expresie de tipul ^.*@mycompany.com
.
Notă
Atribuirea automată a grupurilor la Utilizatori și Vizualizatori este întotdeauna recreată atunci când se face upgrade de la o versiune Weblate la alta. Dacă doriți să o dezactivați, setați expresia regulată la ^$
(care nu se va potrivi cu nimic).
Notă
Deocamdată, nu există nicio modalitate de a adăuga în masă utilizatori deja existenți la un grup prin intermediul interfeței cu utilizatorul. Pentru aceasta, puteți recurge la utilizarea REST API.
Grupuri și roluri implicite
După instalare, este creat un set implicit de grupuri (a se vedea Lista de grupuri).
Aceste roluri și grupuri sunt create la instalare. Rolurile încorporate sunt întotdeauna actualizate prin migrarea bazei de date în momentul actualizării. De fapt, nu le puteți modifica; vă rugăm să definiți un rol nou dacă doriți să vă definiți propriul set de permisiuni.
Lista de privilegii și roluri încorporate
Domeniul de aplicare |
Permisiune |
Roluri |
---|---|---|
Facturare (a se vedea Facturare) |
Vezi informații de facturare |
Administrație, Facturare |
Modificări |
Descărcați modificările |
Administrare |
Comentarii |
Posta comentariu |
Administrare, Editare sursă, Putere utilizator, Revizuire șiruri de caractere, Traducere |
Ștergeți comentariul |
Administrare |
|
Rezolvați comentariul |
Administrare, Străzi de revizuire |
|
Componenta |
Editați setările componentelor |
Administrare |
Componenta de blocare, împiedicând traducerile |
Administrare |
|
Glosar |
Adăugați o intrare în glosar |
Administrare, Gestionare glosar, Power user |
Editarea intrării în glosar |
Administrare, Gestionare glosar, Power user |
|
Ștergerea intrării în glosar |
Administrare, Gestionare glosar, Power user |
|
Încărcați intrările din glosar |
Administrare, Gestionare glosar, Power user |
|
Sugestii automate |
Utilizați sugestii automate |
Administrare, Editare sursă, Putere utilizator, Revizuire șiruri de caractere, Traducere |
Memorie de traducere |
Editarea memoriei de traducere |
Administrare, Gestionare memorie de traducere |
Ștergeți memoria de traducere |
Administrare, Gestionare memorie de traducere |
|
Proiecte |
Editați setările proiectului |
Administrare |
Gestionați accesul la proiect |
Administrare |
|
Rapoarte |
Descărcați rapoarte |
Administrare |
Capturi de ecran |
Adăugați captură de ecran |
Administrare, Gestionare capturi de ecran |
Editați captura de ecran |
Administrare, Gestionare capturi de ecran |
|
Ștergeți captura de ecran |
Administrare, Gestionare capturi de ecran |
|
Șiruri de surse |
Editați informații suplimentare despre șiruri |
Administrare, Modificare sursă |
Șiruri de caractere |
Adăugați un nou șir de caractere |
Administrare |
Eliminați un șir de caractere |
Administrare |
|
Respinge controlul nereușit |
Administrare, Editare sursă, Putere utilizator, Revizuire șiruri de caractere, Traducere |
|
Editarea șirurilor de caractere |
Administrare, Editare sursă, Putere utilizator, Revizuire șiruri de caractere, Traducere |
|
Șiruri de revizuire |
Administrare, Străzi de revizuire |
|
Editați șirul de caractere atunci când sugestiile sunt puse în aplicare |
Administrare, Străzi de revizuire |
|
Editarea șirurilor sursă |
Administrare, Editare sursă, Utilizator autorizat |
|
Sugestii |
Acceptați sugestia |
Administrare, Editare sursă, Putere utilizator, Revizuire șiruri de caractere, Traducere |
Adăugați o sugestie |
Administrare, Modifică sursa, Adaugă sugestii, Putere utilizator, Revizuiește șirurile de caractere, Traduce |
|
Ștergeți sugestia |
Administrare, Utilizator de putere |
|
Votul asupra sugestiei |
Administrare, Editare sursă, Putere utilizator, Revizuire șiruri de caractere, Traducere |
|
Traduceri |
Adăugați limba pentru traducere |
Administrare, Utilizator puternic, Gestionare limbi |
Efectuați traducerea automată |
Administrare, Traducerea automată |
|
Ștergeți traducerea existentă |
Administrație, Gestionare limbi |
|
Descărcați fișierul de traducere |
Administrare, Editare sursă, Acces la depozit, Power user, Revizuire șiruri de caractere, Traducere, Gestionare limbi |
|
Adăugați mai multe limbi pentru traducere |
Administrație, Gestionare limbi |
|
Încărcături |
Definiți autorul traducerii încărcate |
Administrare |
Suprascrieți șirurile existente cu încărcare |
Administrare, Editare sursă, Putere utilizator, Revizuire șiruri de caractere, Traducere |
|
Încărcați traduceri |
Administrare, Editare sursă, Putere utilizator, Revizuire șiruri de caractere, Traducere |
|
Versiune Control Sistem VCS |
Accesați depozitul intern |
Administrare, Acces la depozit, Putere utilizator, Gestionare depozit |
Trimiteți modificările în depozitul intern |
Administrare, Gestionare depozit |
|
Împingeți modificarea din depozitul intern |
Administrare, Gestionare depozit |
|
Resetarea modificărilor în depozitul intern |
Administrare, Gestionare depozit |
|
Vizualizați locația depozitului din amonte |
Administrare, Acces la depozit, Putere utilizator, Gestionare depozit |
|
Actualizarea depozitului intern |
Administrare, Gestionare depozit |
|
Privilegii la nivelul întregului site |
Utilizați interfața de gestionare |
|
Adăugați proiecte noi |
||
Adăugați definiții de limbă |
||
Gestionați definițiile de limbă |
||
Gestionați grupurile |
||
Gestionați utilizatorii |
||
Gestionați rolurile |
||
Gestionați anunțurile |
||
Gestionați memoria de traducere |
||
Gestionarea utilajelor |
||
Gestionați listele de componente |
Notă
Nu se acordă privilegii la nivelul întregului site pentru niciun rol implicit. Acestea sunt puternice și destul de apropiate de statutul de superutilizator. Cele mai multe dintre ele afectează toate proiectele din instalarea Weblate.
Lista de grupuri
Următoarele grupuri sunt create la instalare (or after executing setupgroups
) și puteți să le modificați. Cu toate acestea, migrația le va recrea dacă le ștergeți sau le redenumiți.
- Oaspeți
Definește permisiunile pentru utilizatorii neautentificați.
Acest grup conține numai utilizatori anonimi (see
ANONYMOUS_USER_NAME
).Puteți elimina rolurile din acest grup pentru a limita permisiunile pentru utilizatorii neautentificați.
Roluri implicite: Adaugați sugestii, Accesați depozitul
- Vizualizatori
Acest rol asigură vizibilitatea proiectelor publice pentru toți utilizatorii. În mod implicit, toți utilizatorii sunt membri ai acestui grup.
În mod implicit, automatic group assignment face ca toate conturile noi să devină membri ai acestui grup atunci când se alătură.
Roluri implicite: niciunul
- Utilizatori
Grup implicit pentru toți utilizatorii.
În mod implicit, automatic group assignment face ca toate conturile noi să devină membri ai acestui grup atunci când se alătură.
Roluri implicite: Power user
- Revizorii
Grup pentru recenzori (see Fluxuri de lucru de traducere).
Roluri implicite: Review strings
- Manageri
Grup pentru administratori.
Roluri implicite: Administration
Atenționare
Nu eliminați niciodată grupurile și utilizatorii Weblate predefinite, deoarece acest lucru poate duce la probleme neașteptate! Dacă nu aveți nevoie de ei, puteți elimina în schimb toate privilegiile lor.
Restricții suplimentare de acces
Dacă doriți să folosiți instalația Weblate într-un mod mai puțin public, adică să permiteți noilor utilizatori doar pe bază de invitație, acest lucru se poate face prin configurarea Weblate astfel încât doar utilizatorii cunoscuți să aibă acces la el. Pentru a face acest lucru, puteți seta REGISTRATION_OPEN
la False
pentru a împiedica înregistrarea oricăror utilizatori noi și setați REQUIRE_LOGIN
la /.*
pentru a solicita conectarea pentru a accesa toate paginile site-ului. Aceasta este practic modalitatea de a bloca instalarea Weblate.
Sugestie
Puteți utiliza built-in Invitație utilizator nou pentru a adăuga noi utilizatori.