Re: AW: AW: AW: [Mapbender-users] Berechtigungen für WFS-T setzen
Christoph Baudson
christoph.baudson at wheregroup.com
Thu Feb 26 03:34:57 EST 2009
Hi Marcel
Marcel Waetke schrieb:
> Hallo Christoph,
> es funktioniert noch nicht ganz. Die mb_user_id wird bei der Digitalisierung
> wie erhofft automatisch in die Tabelle geschrieben, sofern ich die Variante
> mit doppelten Anführungszeichen, also $_SESSION["mb_user_id"], verwende.
> Leider funktioniert jetzt aber die Auswahl der erstellten Geometrien nicht
> mehr. Die Werkzeuge zum Selektieren sind also unbrauchbar geworden. Das gilt
> für den user der die Geometrie erstellt hat und für alle anderen, die
> versuchen darauf zuzugreifen.
>
Man müsste prüfen, wie der Filter nun aussieht. Füge der Datei
php/mod_wfs_result.php mal folgende Zeile hinzu:
$e = new mb_exception("FILTER: " . $filter);
und zwar in Zeile 85, nach der Zeile
$filter = checkAccessConstraint($filter, $db_wfs_conf_id);
Welchen Datentyp hat das FeatureType-Element, was Du belegen möchtest?
Double funktioniert z.B. nicht, da er 1 zu 1.0 ändern würde.
Die Logs schreibt Mapbender in den Ordner log/. Bitte auf ausreichende
Schreibrechte achten.
Du kannst dann ja mal die Anfrage direkt ausführen, z.B. am GeoServer,
falls Du einen benutzt.
Gruß
Christoph
> Bei der Variante mit einfachen Anführungszeichen hat wiederum jeder user die
> Möglichkeit, auf die Geometrien zuzugreifen. Die mb_user_id wird bei der
> Digitalisierung bei mir nicht in die DB geschrieben.
>
> Es wäre super, wenn du mir noch einmal eine Hilfestellung geben könntest.
>
> Beste Grüße,
> Marcel
>
> -----Ursprüngliche Nachricht-----
> Von: mapbender_users-bounces at lists.osgeo.org
> [mailto:mapbender_users-bounces at lists.osgeo.org] Im Auftrag von Christoph
> Baudson
> Gesendet: Mittwoch, 25. Februar 2009 10:31
> An: Mapbender User List
> Betreff: Re: AW: AW: [Mapbender-users] Berechtigungen für WFS-T setzen
>
> Hallo Marcel,
>
> Marcel Waetke schrieb:
>
>> Hi Christoph!
>> Ich habe mir den Patch von
>> http://trac.osgeo.org/mapbender/changeset/3580?format=zip&new=3580
>> heruntergeladen und die Dateien "mod_wfs_conf.php" und "mod_wfs_edit.php"
>> ersetzt. Nach dem Speichern von $_SESSION['mb_user_id'] in der Spalte
>>
> "auth"
>
>> wird der Eintrag zwar nun mehr nicht in $_SESSION[\ verändert, aber
>> dafür ist das Abspeichern der Digitalisierung nicht mehr möglich. Der
>> Button "Glühbirne" (save/update/delete) im Digitize-Tab wird nicht mehr
>>
> angzeigt!
>
>> Das Entfernen des Eintrags $_SESSION['mb_user_id'] ermöglicht
>> sogleich wieder das erfolgreiche Abspeichern, natürlich ohne die
>> mb_user_id. Wo könnte der Fehler liegen?
>>
>>
>
> leider ist das ein weiterer Bug. Mit doppelten Anführungszeichen hätte es
> funktioniert.
>
> Hier ist ein Patch, so dass es für beide Varianten funktioniert. Das wird so
> in Mapbender 2.5.1 übernommen werden.
>
> In diesem Ticket [1] gibt es einen Link zu dem Changeset [2] im Mapbender
> 2.5 Branch, und dort ganz unten einen Download-Link ("Zip
> Archive") [3]. Dort sind alle geänderten Dateien drin (in diesem Fall
> lediglich eine).
>
> Ich konnte das Problem hier nachvollziehen und damit lösen. Sag bitte kurz
> Bescheid, ob es damit auch bei Dir funktioniert.
>
> Danke und Gruß
>
> Christoph
>
> [1] http://trac.osgeo.org/mapbender/ticket/388
> [2] http://trac.osgeo.org/mapbender/changeset/3589
> [3] http://trac.osgeo.org/mapbender/changeset/3589?format=zip&new=3589
>
>
>
> Danke
>
>> Schöne Grüße,
>> Marcel
>>
>>
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: mapbender_users-bounces at lists.osgeo.org
>> [mailto:mapbender_users-bounces at lists.osgeo.org] Im Auftrag von
>> Christoph Baudson
>> Gesendet: Donnerstag, 19. Februar 2009 16:14
>> An: Mapbender User List
>> Betreff: Re: AW: [Mapbender-users] Berechtigungen für WFS-T setzen
>>
>> Marcel Waetke schrieb:
>>
>>
>>> Hallo Christoph!
>>> Das wäre genau das, was ich suche. Leider klappt es mit der Umsetzung
>>> noch nicht.
>>> Ich habe meine vorhandene Tabelle um die Spalte mb_user_id ergänzt
>>> und in alle "auth"-Felder bei der WFS-T Konfiguration
>>> $_SESSION['mb_user_id'] eingetragen. Dies hat aber keine Auswirkung
>>> auf eine Zugriffsberechtiung erbracht, die Tabelle wird nicht
>>> automatisch mit der ID ergänzt. Ein manuelles Setzen einer ID hat
>>> auch keine Auswirkungen auf die Zugriffsrechte. Was mache ich falsch?
>>>
>>>
>>>
>> Hallo Marcel,
>>
>> sobald Du die neue Spalte hinzugefügt hast, muss diese als
>> Featuretype-Element Teil des WFS sein. Du musst also den WFS neu
>> konfigurieren und danach in Mapbender hochladen. Falls das nicht
>> gelingt, kann Dir vielleicht ein anderer dabei helfen, das ist nicht
>> wirklich mein Gebiet.
>>
>> Nach dem Upload in Mapbender erstellst Du wie gehabt die WFS Conf.
>>
>> In dem WFS Conf Dialog siehst Du nun das neue Featuretype-Element als
>>
> Zeile.
>
>> In dieser Zeile trägst Du in der "auth"-Spalte die Variable ein, also
>> $_SESSION['mb_user_id']. Nun trägt Mapbender in der Datenbankspalte,
>> die diesem Featuretype-Element entspricht, die ID des aktuellen
>> Nutzers ein, und prüft beim Auslesen wiederum die Zugriffsberechtigung.
>>
>> Gruß
>>
>> Christoph
>>
>>
>>
>>
>>
>>> Vielen Dank für die Hilfe,
>>> Marcel
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: mapbender_users-bounces at lists.osgeo.org
>>> [mailto:mapbender_users-bounces at lists.osgeo.org] Im Auftrag von
>>> Christoph Baudson
>>> Gesendet: Freitag, 13. Februar 2009 15:47
>>> An: Mapbender User List
>>> Betreff: Re: [Mapbender-users] Berechtigungen für WFS-T setzen
>>>
>>> Marcel Waetke schrieb:
>>>
>>>
>>>
>>>> Hallo!
>>>> Ich habe einen WFS-T mit Punkten, Linien und Polygonen konfiguriert,
>>>> den ich noch etwas anpassen möchte. Ich habe die user1, user2 und
>>>> user3, die unterschiedliche Zugriffsmöglichkeiten auf die Geometrien
>>>>
>>>>
>>>>
>>> erhalten sollen.
>>>
>>>
>>>
>>>> So soll z.B. der user1 nur auf Polygone zugreifen können, während
>>>> user2 und
>>>> user3 Punkte und Linien ergänzen und verändern dürfen. Soweit ich in
>>>> der Dokumentation lesen konnte, sind entsprechende Eintragungen im
>>>> Feld
>>>>
>>>>
>>>>
>>> "auth"
>>>
>>>
>>>
>>>> bei der WFS Kofiguration vorzunehmen. Doch was genau ist hier
>>>> einzutragen, um entsprechende Rechte an die user zu vergeben?
>>>>
>>>>
>>>>
>>>>
>>> Dort muss eine Variable eingetragen werden, z.B.
>>> $_SESSION['mb_user_id']
>>>
>>> Beim Speichern einer Geometrie wird der Wert dieser Variable in das
>>> Feld
>>>
>>>
>> des
>>
>>
>>> entsprechenden Featuretypes eingetragen. Beim Abfragen einer
>>> Geometrie
>>>
>>>
>> wird
>>
>>
>>> ebenso geprüft, ob der Wert in der Datenbank mit dem aktuellen Wert
>>> der Variable übereinstimmt.
>>>
>>> Kurz: Ein Benutzer dürfte dann nur die Geometrien abfragen, die er
>>> auch eingetragen hat.
>>>
>>> Achtung: Für schon existierende Geometrien müsste die Datenbank dann
>>>
>>>
>> manuell
>>
>>
>>> befüllt werden, um die Zugangsberechtigung zu setzen! Sonst könnten
>>> Geometrien unter Umständen nicht mehr in Mapbender abgefragt werden.
>>>
>>> Man könnte zudem vielleicht eine Variable wählen, die eine Gruppe und
>>>
>>>
>> nicht
>>
>>
>>> nur einen einzelnen Benutzer identifiziert.
>>>
>>> Christoph
>>>
>>>
>>>
>>>
>>>> Schöne Grüße,
>>>> Marcel
>>>>
>>>> _______________________________________________
>>>> Mapbender_users mailing list
>>>> Mapbender_users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapbender_users
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
>
--
----------------------------------
FOSSGIS Konferenz 2009
17.-19. März 2009 in Hannover
http://www.fossgis.de/konferenz
----------------------------------
_______________________________________
W h e r e G r o u p GmbH & Co. KG
Siemensstraße 8
53121 Bonn
Germany
Christoph Baudson
Anwendungsentwickler
Fon: +49 (0)228 / 90 90 38 - 15
Fax: +49 (0)228 / 90 90 38 - 11
christoph.baudson at wheregroup.com
www.wheregroup.com
Amtsgericht Bonn, HRA 6788
_______________________________________
Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Olaf Knopp, Peter Stamm
_______________________________________
More information about the Mapbender_users
mailing list