Seite 1 von 1

berechtigung für backend-user bei einem modul

Verfasst: Mo 24. Jan 2005, 18:07
von CraCe
hallihallo,

habe aus einem vorhandenen modul diesen eintrag, um für das backend die berechtigung zum editieren abzusichern:

Code: Alles auswählen

	$accessGranted = false; 
	$permissions = $auth->auth["perm"]; 
	$permissions = explode(',', $permissions); 
	foreach ($permissions as $perm) 
	if ($perm == "sysadmin" || $perm == "admin[".$client."]") { $accessGranted = true; }
was müsste ich hier ergänzen um die berechtigung auch für normale user zuzulassen (nicht nur sysadmin und admin) ?

vielen dank für hinweise,

cu
cg

Verfasst: Mo 24. Jan 2005, 19:15
von emergence
ähm welche contenido version ?
und so nebenbei schlechte idee die $perm für ne schleife herzunehmen...

an sich sollte etwas wie

Code: Alles auswählen

   $accessGranted = false; 
   if ($perm->have_perm_area_action("con", "con_edit")) { $accessGranted = true; }
reichen...

Verfasst: Mo 24. Jan 2005, 20:30
von CraCe
hi emergence,

version ist die 4.4.4

vielen dank für den hinweis auf die have_perm_area_action, wenn die in der version drin ist sollte dass ja so funktionieren.

stimmt eigentlich, dass die $perm für eine schleife nicht ganz sauber ist.
mangels tiefergehender kenntnisse in contenido und php brauchts bei mir immer etwas länger, um die zusammenhänge klarzukriegen.

bei der gelegenheit noch eine frage in diese richtung:
ich habe in einem modul die variable $edit abgefragt um einige dinge nur im backend anzuzeigen.
ist dies vernünftig? sollte das auch noch über die permissions zusätzlich oder ausschliesslich gesteuert sein?
denn $edit könnte ja auch über den link/pfad auf true gesetzt werden.

cu
cg

Verfasst: Mo 24. Jan 2005, 21:29
von emergence
CraCe hat geschrieben:denn $edit könnte ja auch über den link/pfad auf true gesetzt werden.
stimmt an sich
hmm... was wäre denn an sich sauber
permissions sind an sich nicht notwendig... ausser man definiert eigene in der con_action die nur für das modul gelten würden...

Code: Alles auswählen

if (!isset($_REQUEST["edit"]) && edit == true) {

}
sollte funktionieren ab php 4.1.0
dabei ist es dann egal ob globals on ist oder nicht... getestet hab ich das jetzt aber nicht...

es werden dabei alle einträge ignoriert die via post get oder cookie
vorhanden sind...