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: Before Weblate 3.0, the privilege system was based on Django privilege system only, but is specifically built for Weblate now. If using anything older, please consult the documentation for the specific version you are using.

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 (ManageSettings) a fiecărui proiect respectiv.

../_images/project-access.png

The default value can be changed by 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.

Managing per-project access control

Utilizatorii cu privilegiul Manage project access (see List of privileges) 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.

Sources

Poate edita șirurile de surse (dacă este permis în project settings) și informații despre șirurile de surse.

Limbi

Can manage translated languages (add or remove translations).

Glosar

Can manage glossary (add or remove entries, also upload).

Memorie

Can manage translation memory.

Capturi de ecran

Poate gestiona capturi de ecran (adăugați sau eliminați-le și asociați-le la șiruri de surse).

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.

New user invitation

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 din management interface din fila Users.

Blocking users

Nou în versiunea 4.7.

In case some users behave badly in your project, you have an option to block them from contributing. The blocked user still will be able to see the project if he has permissions for that, but he won’t be able to contribute.

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ă

Această funcție nu este disponibilă pentru proiectele care rulează planul Libre pe Hosted Weblate.

The permission system is based on groups and roles, where roles define a set of permissions, and groups link them to users and translations, see Users, roles, groups, and permissions for more details.

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.

Site-wide permission management

Pentru a gestiona simultan permisiunile pentru o întreagă instanță, adăugați utilizatorii la grupurile corespunzătoare default groups:

  • Users (this is done by default by the automatic group assignment).

  • Reviewers (if you are using review workflow with dedicated reviewers).

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

Custom permissions for languages, components or projects

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.

Example:

If you want (for whatever reason) to allow translation to a specific language (lets say Czech) only to a closed set of reliable translators while keeping translations to other languages public, you will have to:

  1. Remove the permission to translate Czech from all the users. In the default configuration this can be done by altering the Users default group.

    Group Users

    Selectarea limbii

    As defined

    Limbi

    All but Czech

  1. Add a dedicated group for Czech translators.

    Group Czech translators

    Roluri

    Power users

    Selecția proiectului

    All public projects

    Selectarea limbii

    As defined

    Limbi

    Czech

  1. Add users you wish to give the permissions to into this group.

As you can see, permissions management this way is powerful, but can be quite a tedious job. You can’t delegate it to another user, unless granting superuser permissions.

Users, roles, groups, and permissions

The authentication models consist of several objects:

Permission

Individual permission defined by Weblate. Permissions cannot be assigned to users. This can only be done through assignment of roles.

Role

A role defines a set of permissions. This allows reuse of these sets in several places, making the administration easier.

User

User can belong to several groups.

Group

Group connect roles, users, and authentication objects (projects, languages, and component lists).

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

Notă

A group can have no roles assigned to it, in that case access to browse the project by anyone is assumed (see below).

Access for browse to a project

A user has to be a member of a group linked to the project, or any component inside that project. Having membership is enough, no specific permissions are needed to browse the project (this is used in the default Viewers group, see Lista de grupuri).

Access for browse to a component

A user can access unrestricted components once able to access the components’ project (and will have all the permissions the user was granted for the project). With Restricted access turned on, access to the component requires explicit permissions for the component (or a component list the component is in).

Scope of groups

The scope of the permission assigned by the roles in the groups are applied by the following rules:

  • If the group specifies any Component list, all the permissions given to members of that group are granted for all the components in the component lists attached to the group, and an access with no additional permissions is granted for all the projects these components are in. Components and Projects are ignored.

  • If the group specifies any Components, all the permissions given to the members of that group are granted for all the components attached to the group, and an access with no additional permissions is granted for all the projects these components are in. Projects are ignored.

  • Otherwise, if the group specifies any Projects, either by directly listing them or by having Projects selection set to a value like All public projects, all those permissions are applied to all the projects, which effectively grants the same permissions to access all projects unrestricted components.

  • The restrictions imposed by a group’s Languages are applied separately, when it’s verified if a user has an access to perform certain actions. Namely, it’s applied only to actions directly related to the translation process itself like reviewing, saving translations, adding suggestions, etc.

Sugestie

Use Language selection or Project selection to automate inclusion of all languages or projects.

Example:

Let’s say there is a project foo with the components: foo/bar and foo/baz and the following group:

Group Spanish Admin-Reviewers

Roluri

Review Strings, Manage repository

Componente

foo/bar

Limbi

Spanish

Members of that group will have following permissions (assuming the default role settings):

  • General (browsing) access to the whole project foo including both components in it: foo/bar and foo/baz.

  • Review strings in foo/bar Spanish translation (not elsewhere).

  • Manage VCS for the whole foo/bar repository e.g. commit pending changes made by translators for all languages.

Atribuirea automată a grupului

On the bottom of the Group editing page in the Django admin interface, you can specify Automatic group assignments, which is a list of regular expressions used to automatically assign newly created users to a group based on their e-mail addresses. This assignment only happens upon account creation.

The most common use-case for the feature is to assign all new users to some default group. In order to do so, you will probably want to keep the default value (^.*$) in the regular expression field. Another use-case for this option might be to give some additional privileges to employees of your company by default. Assuming all of them use corporate e-mail addresses on your domain, this can be accomplished with an expression like ^.*@mycompany.com.

Notă

Automatic group assignment to Users and Viewers is always recreated when upgrading from one Weblate version to another. If you want to turn it off, set the regular expression to ^$ (which won’t match anything).

Notă

As for now, there is no way to bulk-add already existing users to some group via the user interface. For that, you may resort to using the REST API.

Default groups and roles

After installation, a default set of groups is created (see Lista de grupuri).

These roles and groups are created upon installation. The built-in roles are always kept up to date by the database migration when upgrading. You can’t actually change them, please define a new role if you want to define your own set of permissions.

List of privileges

Billing (see Facturare)

View billing info [Administration, Billing]

Modificări

Download changes [Administration]

Comentarii

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

Delete comment [Administration]

Componenta

Edit component settings [Administration]

Lock component, preventing translations [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

Use automatic suggestions [Administration, Edit source, Power user, Review strings, Translate]

Memorie de traducere

Edit translation memory [Administration, Manage translation memory]

Delete translation memory [Administration, Manage translation memory]

Proiecte

Edit project settings [Administration]

Manage project access [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

Edit additional string info [Administration, Edit source]

Șiruri de caractere

Add new string [Administration]

Remove a string [Administration]

Dismiss failing check [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]

Edit string when suggestions are enforced [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]

Delete suggestion [Administration, Power user]

Vote on suggestion [Administration, Edit source, Power user, Review strings, Translate]

Traduceri

Add language for translation [Administration, Power user, Manage languages]

Efectuarea traducerii automate [Administration, Manage languages]

Delete existing translation [Administration, Manage languages]

Add several languages for translation [Administration, Manage languages]

Încărcături

Define author of uploaded translation [Administration]

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

Upload translations [Administration, Edit source, Power user, Review strings, Translate]

VCS

Access the internal repository [Administration, Access repository, Power user, Manage repository]

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

Push change from the internal repository [Administration, Manage repository]

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

View upstream repository location [Administration, Access repository, Power user, Manage repository]

Update the internal repository [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.

Guests

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

Viewers

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

Users

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

Reviewers

Grup pentru recenzori (see Translation workflows).

Roluri implicite: Review strings

Managers

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.

Additional access restrictions

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.