🔐
Varnost

Preverjanje pristnosti in RBAC

Skrbniške nastavitve

Preverjanje pristnosti uporabnika na ravni podjetja z nadzorom dostopa na podlagi vlog

Pregled

Popoln sistem za preverjanje pristnosti z RBAC, podprtim z bazo podatkov, ki podpira vloge superskrbnika, skrbnika, moderatorja in uporabnika. Vključuje varno zgoščevanje gesel, upravljanje sej in natančne kontrole dovoljenj.

Premisleki glede oblikovanja

Vzorci UX in opombe o vizualnem oblikovanju za to funkcijo:

  • Obrazci za prijavo naj bodo dobrodošli, ne zastrašujoči
  • Značke vlog uporabljajo barvno psihologijo: rdeča za skrbniško moč, modra za zaupanje
  • Države z zavrnjenim dovoljenjem potrebujejo empatijo – razložite, kaj je omejeno, ponudite alternative
  • Opozorila o časovni omejitvi seje preprečujejo neprijetno izgubo podatkov

Ključne prednosti

Po čem ta funkcija izstopa:

  • RBAC brez konfiguracije takoj po namestitvi
  • Hierarhične vloge (superskrbnik podeduje vse)
  • Temelji na bazi podatkov – spremembe kode niso potrebne
  • Izvorna integracija Yii2 authManager
Tehnična opomba

Uporablja Yii2 DbManager za RBAC. Vloge, shranjene v auth_item (type=1), dovoljenja (type=2). Preverite dovoljenja z Yii::$app->user->can('permissionName').

Pomočniki
AdminHelperAuthAssignment
Modeli
UserLoginFormSignupForm
Tabele baze podatkov
userauth_itemauth_item_childauth_assignmentauth_rule

Konfiguracija

Legenda razmerja konfiguracije
DB preglasi params.php🔗 Nastavitev, povezana z DB📋 DB hrani samo vrednost
params.php Konfiguracija

Konfiguracijska pot: params['auth']

params['auth']['password']['minLength'] => 8params['auth']['password']['hashCost'] => 13params['auth']['session']['timeout'] => 7200params['auth']['rememberMe']['duration'] => 2592000params['auth']['emailVerification']['required'] => false
Nastavitve baze podatkov (tabela system_setting)
KljučVrstaOpisRazmerje
auth_password_min_lengthnumberMinimum password length
auth_password_hash_costnumberBcrypt hash cost (10-14)
auth_session_timeoutnumberSession timeout in seconds
auth_remember_me_durationnumberRemember me duration
auth_email_verification_requiredbooleanRequire email verification