🔐
Sigurnost

Avtentikacija i RBAC

Skrbniješke postavke

Uporabniješka avtentikacija poslovnega razreda z nadzorom dostopa na podlagi vlog

Pregled

Sveobuhvatan sistem avtentikacije s podatkovnijem RBAC, ki podpira vloge superadmin, admin, moderator i korisnijek. Vključuje varno zgoščevanje lozinki, upravljanje sej i podruen nadzor dozvola.

Oblikovalski premisleki

UX vzorci i opombe vizualnega ulikovanja za to funkcionalnost:

  • Prijavni urazci naj bodo prijazni, ne zastrašujoči
  • Značke vlog uporabljajo psihologijo barv: rdeča za adminijestratorsko moč, modra za zaupanje
  • Permission denied states need empathy - explain what's restricted, offer alternatives
  • Opozorila o poteku seje preprečujejo frustrirajočo izgubo podatkov

Ključne prednosti

Kaj naredi to funkcionalnost izjemno:

  • RBAC bez konfiguracije već v osnovi
  • Hierarhične vloge (superadmin podeduje vse)
  • Upravljano iz baze podatkov - spremembe kode nijeso potrebne
  • Yii2 izvorna authManager integracija
Tehniječna opomba

Uses Yii2's DbManager for RBAC. Roles stored in auth_item (type=1), permissions (type=2). Check permissions with Yii::$app->user->can('permissionName').

Pomoćni razredi
AdminHelperAuthAssignment
Modeli
UserLoginFormSignupForm
Tablice baze podataka
userauth_itemauth_item_childauth_assignmentauth_rule

Konfiguracija

Legenda konfiguracijskih povezav
Baza podatkov prepijoš params.php🔗 Nastavitev povezana z bazo podatkov📋 Baza podatkov hranije 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
Postavke baze podatkov (tabela system_setting)
KljučVrstaOpisRelacija
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