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ă

This feature is unavailable for projects running the Libre plan on 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 (ManageSettings) a fiecărui proiect respectiv.

../_images/project-access.png

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.

Gestionarea controlului accesului pe proiect

Utilizatorii cu privilegiul Manage project access (see Listă de privilegii) pot gestiona utilizatori în proiecte cu control de acces non-Custom. Aceștia pot atribui utilizatori la unul dintre următoarele grupuri.

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).

Versiune Control Sistem VCS

Poate gestiona VCS și poate accesa depozitul exportat.

Facturare

Poate accesa informațiile și setările de facturare (see Facturare).

Din păcate, deocamdată nu este posibil să modificați acest set predefinit de grupuri. De asemenea, în acest fel nu este posibil să se acorde doar câteva permisiuni suplimentare tuturor utilizatorilor.

Notă

Pentru controlul accesului non-Custom se definește de fapt o instanță a fiecărui grup descris mai sus pentru fiecare proiect. Numele real al acestor grupuri va fi Project@Group, afișat și în interfața de administrare Django în acest mod. Deși acestea nu pot fi editate din interfața de utilizator Weblate.

../_images/manage-users.png

Aceste caracteristici sunt disponibile pe pagina Access control, care poate fi accesată din meniul proiectului ManageUsers.

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 (e.g. a membership in the Administration group).

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 grupul Administration al proiectului.

Control acces personalizat

Notă

This feature is unavailable for projects running the Libre plan on 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:

  1. 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.

    Grup Utilizatori

    Selectarea limbii

    Cum este definit

    Limbi

    Toate în afară de Cehă

  1. Adăugați un grup dedicat pentru traducătorii din Cehă.

    Grupul Traducători de limba cehă

    Roluri

    Utilizatori puternici

    Selecția proiectului

    Toate proiectele publice

    Selectarea limbii

    Cum este definit

    Limbi

    Cehă

  1. 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).

graph auth { "User" -- "Group"; "Group" -- "Role"; "Role" -- "Permission"; "Group" -- "Project"; "Group" -- "Language"; "Group" -- "Components"; "Group" -- "Component list"; }

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 și foo/baz și următorul grup:

Grupul Spanish Administratori-Revizori

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 și foo/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.

Listă de privilegii

Facturare (a se vedea Facturare)

Vizualizare informații de facturare [Administrație, Facturare]

Modificări

Descărcați modificările [Administrație]

Comentarii

Postați un comentariu [Administration, Edit source, Power user, Review strings, Translate]

Ștergeți comentariul [Administration]

Componenta

Editarea setărilor componentelor [Administration]

Blocarea componentei, împiedicând traducerile [Administration]

Glosar

Adăugați o intrare în glosar [Administration, Manage glossary, Power user]

Editarea intrării în glosar [Administration, Manage glossary, Power user]

Ștergeți intrarea în glosar [Administration, Manage glossary, Power user]

Încărcați intrările din glosar [Administration, Manage glossary, Power user]

Sugestii automate

Utilizați sugestii automate [Administration, Edit source, Power user, Review strings, Translate]

Memorie de traducere

Editarea memoriei de traducere [Administrare, Gestionare memorie de traducere]

Ștergerea memoriei de traducere [Administrare, Gestionare memorie de traducere]

Proiecte

Editarea setărilor proiectului [Administration]

Gestionați accesul la proiect [Administration]

Rapoarte

Descărcați rapoarte [Administration]

Capturi de ecran

Adăugați captură de ecran [Administration, Manage screenshots]

Editare captură de ecran [Administration, Manage screenshots]

Ștergere captură de ecran [Administration, Manage screenshots]

Șiruri de surse

Editarea informațiilor suplimentare despre șiruri de caractere [Administration, Edit source]

Șiruri de caractere

Adăugați un nou șir [Administration]

Eliminați un șir de caractere [Administration]

Respingeți verificarea nereușită [Administration, Edit source, Power user, Review strings, Translate]

Editarea șirurilor de caractere [Administration, Edit source, Power user, Review strings, Translate]

Șiruri de revizuire [Administration, Review strings]

Editați șirul atunci când sugestiile sunt aplicate [Administration, Review strings]

Editarea șirurilor de surse [Administration, Edit source, Power user]

Sugestii

Acceptă sugestia [Administration, Edit source, Power user, Review strings, Translate]

Adăugare sugestie [Administration, Edit source, Add suggestion, Power user, Review strings, Translate]

Ștergeți sugestia [Administration, Power user]

Votați sugestia [Administrație, Editare sursă, Putere utilizator, Revizuirea șirurilor de caractere, Traducere]

Traduceri

Adăugați o limbă pentru traducere [Administration, Power user, Manage languages]

Efectuarea traducerii automate [Administration, Manage languages]

Ștergeți traducerea existentă [Administration, Manage languages]

Download translation file [Administration, Edit source, Access repository, Power user, Review strings, Translate, Manage languages]

Adăugați mai multe limbi pentru traducere [Administration, Manage languages]

Încărcături

Definiți autorul traducerii încărcate [Administrație]

Suprascrieți șirurile existente cu încărcare [Administration, Edit source, Power user, Review strings, Translate]

Încărcați traduceri [Administrare, Editare sursă, Putere utilizator, Revizuire șiruri, Traducere]

Versiune Control Sistem VCS

Accesarea depozitului intern [Administration, Access repository, Power user, Manage repository]

Trimiterea modificărilor în depozitul intern [Administration, Manage repository]

Schimbare din depozitul intern [Administration, Manage repository]

Resetarea modificărilor din depozitul intern [Administration, Manage repository]

Vezi locația depozitului din amonte [Administration, Access repository, Power user, Manage repository]

Actualizarea depozitului intern [Administration, Manage repository]

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

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 autentificarea pentru a accesa toate paginile site-ului. Aceasta este practic modalitatea de a bloca instalarea Weblate.

Sugestie

Puteți utiliza built-in invitations pentru a adăuga noi utilizatori.