Felhasználók adminisztrációja - szerepek különválasztása

Ramirez_hun képe

Sziasztok!
Kizárt, hogy én találkoztam volna először a problémával, de hatásos megoldást még nem találtam rá.
Szeretném, ha bizonyos adminisztrátori szerepkörök tudnának új felhasználót létrehozni, illetve felhasználókat szerkeszteni, további kezelni.
Viszont semmi esetre sem akarom, hogy a felhasználó beállításokhoz (admin/config/people/accounts)illetve a felhasználói mezőkhöz (admin/config/people/accounts/fields) hozzáférjenek.
Az egytlen ide vágó beállítás a "Felhasználók adminisztrációja" jogosultság. Ezt valahogy lehet árnyalni, hogy a fentieknek megfelelően szétválasztásra kerüljenek a dolgok?
Próbálkoztam az "Administer Users by Role" modullal, de nem hozta a kívánt eredményt.
Ti mit szoktatok ilyen esetben?

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Nagy Gusztáv képe

A Field Permissions modullal lehet mezőnként jogot adni az olvasáshoz, íráshoz, stb.

(Én pl. egy tanfolyami oldalon saját magától is eltiltok egyes mezőket. Vagy csak olvashatóvá teszem a felhasználónak.)

0
0

Nagy Gusztáv

Ramirez_hun képe

A Field Permissions kiváló megoldás mezőnként jogosultságok kezeléséhez, viszont most nem erre van szükségem.
A gond az, hogy miután megadtam a "Felhasználók adminisztrációja" jogosultságot, ez 4 teljesen különböző elérést is lehetővé tesz:

  1. admin/people
  2. admin/people/create
  3. admin/config/people/accounts
  4. admin/config/people/accounts/fields

Ezek teljesen különálló dolgok, szvsz.
Az első kettőre szükségem van, hogy a jövőbeli admin tudjon felhasználót létrehozni (regisztrációra nincs lehetőség), illetve tudja kezelni a felhasználókat.
Viszont egyáltalán nem akarom, hogy az utóbbi kettőt is elérje, mivel ezek mélyebb jellegű beállításokat tesznek lehetővé.

Szóval vagy arra lenne szükségem, hogy az első kettőt valahogyan biztosítsam, vagy pedig arra, hogy a "Felhasználók adminisztrációja" jogosultságból az utóbbi kettőt kiszedjem.

0
0

- ad astra per aspera -

aruna képe

kipróbálhatod a rules modult, ami tud egyedi redirekteket, így ha valaki a két tiltandó url-re érkezik, akkor átirányítod.

-------------------------------

Vagy esetleg csinálsz egy saját
jogosultságot és megváltoztatod
a menü hozzáférést:

//Add new permission for module
function mymodule_perm() {
  return array('profile edit tab'); 
}
 
// Implementation of hook_menu_alter().
function mymodule_menu_alter(&$items) {
  $items['admin/config/people/accounts']['access callback'] = 'user_access';
  $items['admin/config/people/accounts']['access arguments'] = array('profile edit tab');
}

Valami ilyesmi ^^^ - itt találtam:
https://drupal.org/node/483324

1
0
Ramirez_hun képe

A Rules szimpatikus, már próbálkoztam vele régebben is ebben a kérdésben, viszont nem találtam semmi olyan lehetőséget, ami adott URL elérést ellenőrizne. Próbáltam a Path Rules modult is, de valahogy nem jött össze. Lehet, újra csekkolni kéne, azóta azt is fejlesztették, ahogy látom.

0
0

- ad astra per aspera -

eager képe

Én egyszer egy webhelyen a

https://drupal.org/project/userprotect +
https://drupal.org/project/role_delegation

kombinációt használtam.

  • Nem volt egyszerű a konfigja,
  • Nagyon nem emlékszem, hogy pontosan mit tud mit nem és hogy jó-e pontosan arra amit fent kérdezel, de szerintem ügyes szerkezet mindenképp, egy pillantásra szerintem érdemes.
1
0
Ramirez_hun képe

Két nagyon hasznos modul, folyton használom. Adott kérdésre viszont nem nyújt választ.

0
0

- ad astra per aspera -

Ramirez_hun képe

Sikerült elfogadható eredményre jutnom. A Page manager existing pages lehetővé teszi, hogy létező oldalakat is felül írjunk a page manager segítségével. Ezután meg már gyerekjáték egy 403-as kódot generálni, ha a felhasználónak nincs megfelelő szerepköre.
Én ezekre be is állítottam:

  1. admin/config/people/accounts
  2. admin/config/people/accounts/fields
  3. admin/config/people/accounts/display

A dolog szépséghibája, hogy a felhasználói profil mezőit nem képes elérni ez a modul sem, mivel nem talál hozzá menü útvonalat. Ezt nem tudtam kiküszöbölni még. Viszont alternatív megoldás, ha ide nem is rakunk semmilyen mezőt (akkor ugye jogosulatlan felhasználónk bele se tud nyúlni), hanem a Profile2 modult használjuk, aminek meg saját jogosultságai vannak.

3
0

- ad astra per aspera -