Berechtigungen setzen
Eingetragen von JenneMander (112)
am 16.08.2013 - 05:35 Uhr in
am 16.08.2013 - 05:35 Uhr in
Hallo Forum,
es gibt Module (z.B. OpenLayers) da kann ich Funktionalitäten mittels Behaviors aus- und zuschalten. Gibt es ein Modul mit dem ich für diese Behaviors Berechtigungen setzen kann? Oder gibt es ein Tutorial, welches sich mit der programmierung von permissions beschäftigt-ich habe da leider kein geeignetes gefunden.
mit freundlichem Gruß
Jenne
- Anmelden oder Registrieren um Kommentare zu schreiben
Um Berechtigungen in eigenen
am 16.08.2013 - 14:58 Uhr
Um Berechtigungen in eigenen Modulen zu setzen, kannst du den hook_permission verwenden. In diesem legst du eine entsprechende Permission fest, die du dann den angelegten Nutzerrollen im Bereich admin/people/permissionszuordnen kannst.
Ein Tutorial zur Nutzung findest du bspw. hier:
http://www.webomelette.com/define-check-custom-permission-drupal-7
Wenn es dir nur um die Berechtigungen für Drupal interne Pfade geht, kannst du diese auch über das Modul https://drupal.org/project/config_perms anlegen/ abfragen lassen.
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Hi Steffen, vielen Dank.
am 23.09.2013 - 07:35 Uhr
Hi Steffen,
vielen Dank. Leider komme ich beim OpenLayers Module, nicht wirklich weiter. Ich finde einfach nicht die richtige Stelle zum hinzufügen für die Behavior-Permissions.
Hier vielleicht einmal ein Ausschnitt aus der _openlayers_openlayers_behaviors(), welche sich in openlayers.behaviors.inc befindet.
function _openlayers_openlayers_behaviors() {
$behaviors['openlayers_behavior_argparser'] = array(
'title' => t('Argument Parser'),
'description' => t('Parses Permalink-formatted arguments without adding a
Permalink link to the map. Permalink is usually similar to:
?zoom=1&lat=11&lon=11&layers=B0F'),
'type' => 'layer',
);
$behaviors['openlayers_behavior_attribution'] = array(
'title' => t('Layer Attribution'),
'description' => t('Allows layers to provide attribution to the map if it exists. Most third-party layer will have some sort of attribution, but this may come with the actual tiles as well.'),
'type' => 'layer',
);
foreach ($behaviors as $key => $data) {
$behaviors[$key]['path'] = drupal_get_path('module', 'openlayers') . '/' . openlayers_ctools_plugin_directory('openlayers', 'behaviors');
$behaviors[$key]['behavior'] = array(
'class' => $key,
'file' => $key . '.inc',
'parent' => 'openlayers_behavior',
);
}
return $behaviors;
Eingebunden wird diese Funktion in openlayers.module
function openlayers_openlayers_behaviors() {
module_load_include('inc', 'openlayers', 'includes/openlayers.behaviors');
return _openlayers_openlayers_behaviors();
}
Ich würde jetzt den Permission Hook in die Foreach-Schleife versuchen zu implementieren. Nur gelingt mir dieses nicht(ich weiß das ist eine Glasskugelaussage, aber mehr habe ich gerade nicht zu bieten)
mit besten Grüßen
Jens