Autor Thema: Zugriffsrechte eines Benutzers feststellen  (Gelesen 4411 mal)

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Zugriffsrechte eines Benutzers feststellen
« am: 12.03.09 - 12:57:52 »
Hallo zusammen,

meine Frage ist einfach: Wie bestimme ich das Benuzerrecht irgend eines Anwenders auf eine Datenbank?

Es geht darum, dass ich einen Namen habe und wissen möchte, welche Rechte er auf eine Datenbank hat. Dies ist nicht unbedingt der angemeldete Benutzer! Jetzt steht der Benutzer ja nicht zwangsläufig mit seinem voll qualifizierten Namen in der ACL, sondern taucht vielleicht in einer oder mehreren Gruppen auf. Mit session.UserGroupNameList komme ich nicht weiter, weil das erstens nur den aktuellen Benutzer betrifft zweitens können da ja immer noch mehrere Einträge zutreffen (wenn mehrere Gruppen greifen). Also, wie bekomme ich heraus, welche ACL-Eintrag für diesen Benutzer greift?

Kann mir da irgend jemand helfen? Vielleicht stehe ich auch nur auf dem Schlauch und das Problem ist trivial zu lösen. Bin für jede Idee dankbar...

Im Voraus vielen Dank für Eure Antworten,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #1 am: 12.03.09 - 13:05:19 »
ACL öffnen -> Effective Access anklicken -> Benutzernamen eingeben -> Calculate Access anklicken
« Letzte Änderung: 12.03.09 - 13:07:17 von m3 »
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #2 am: 12.03.09 - 13:13:52 »
Danke für die schnelle Antwort, aber das beantwortet leider nicht meine Frage.

Wenn der Benutzer XY nicht in der ACL steht, dann greift irgend eine Gruppe, und woher weißt Du dann welche das ist? Außerdem muss ich das berechnen, brauche also eine LS oder @Formel-Lösung. Gibt es eine Funktion, die diesen "Effective Access" liefert?

Gruß,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #3 am: 12.03.09 - 13:20:13 »
Aus der Notes ACL Klasse die Methode GetEntry sollte Dir helfen können.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #4 am: 12.03.09 - 13:26:40 »
Hallo,

nein, leider nicht, denn da muss ich genau den Namen des ACL-Eintrags einragen. Wie gesagt, es geht darum, welcher dieser Einträge für einen bestimmten Benuzter greift. Wenn ich den weiß, dann kann ich mit GetEntry den Eintrag holen.

Gruß,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

klaussal

  • Gast
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #5 am: 12.03.09 - 13:30:43 »
Lies mal unter @UserAccess nach.

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #6 am: 12.03.09 - 13:51:39 »
UserAccess geht aber wieder nur für den aktuellen Benutzer.

Eigentlich musst Du alles zu Fuß aufdröseln
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #7 am: 12.03.09 - 13:56:40 »
Danke für die schnelle Antwort, aber das beantwortet leider nicht meine Frage.
Doch. Die gestellte Frage wurde korrekt und vollständig beantwortet.

Zitat
Wenn der Benutzer XY nicht in der ACL steht, dann greift irgend eine Gruppe, und woher weißt Du dann welche das ist?
Das Tool zeigt an, welche Gruppen/Rollen greifen.

Zitat
Außerdem muss ich das berechnen, brauche also eine LS oder @Formel-Lösung. Gibt es eine Funktion, die diesen "Effective Access" liefert?
Hmmm. Davon lese ich nix in der ursprünglich gestellten Frage. Und meine Kristallkugel ist schon im Wochenende.

Ich denke, Du wirst nicht umhin kommen, die ACL-Einträge manuell durchzuwassern, Gruppen aufzulösen und Dir die Infos manuell zusammen zu bauen, @UserAccess liefert ja auch nicht das "warum" zur Info.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Tim Pistor

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • Geschlecht: Männlich
    • www.pistor.is - Tim Pistor IT-Beratung
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #8 am: 12.03.09 - 14:28:58 »
Es gäbe noch

NotesDatabase.QueryAccess( name$ )


Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #9 am: 12.03.09 - 14:45:38 »
Der QueryAccess ist ja mal cool.

Also nicht zu Fuß sondern QueryAccess, wieder was gelernt...
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #10 am: 12.03.09 - 17:05:22 »
Vielen Dank für Eure Hilfe.

QueryAccess kannte ich noch nicht, und das scheint das richtige zu ein. Dazu gibts noch QueryAccessPrivileges und QueryAccessRoles, womit man eigentlich alles bekommen sollte. Ich habs jetzt nur kurz getestet und für den voll qualifzierten Namen, der explizit in der ACL steht, funktioniert es einwandfrei. Wenn ich nur den Common Name angebe, klappt es derzeit noch nicht und wenn der Name nur in einer Gruppe auftaucht leder auch nicht.

Das kann aber an mir liegen, weil ich irgend etwas falsch gemacht habe. Da schau 'mer mal...

Nochmals Danke,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #11 am: 12.03.09 - 17:28:13 »
Der Common Name geht selbstverständlich nicht, denn zwischen "CN=Kuno Killerkarpfen/O=Teich/C=Natur" und "Kuno Killerkarpfen" besteht nun mal ein himmelweiter Unterschied.

Wegen der Gruppen: Du testest aber nicht lokal, oder?

Ansonsten: Benutze mal die Suche des Forums nach dem Begriff "queryaccess" - Du wirst da weitere interessante Sachen finden.

Bernhard

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #12 am: 12.03.09 - 18:14:20 »
So, jetzt hab ich mal verschiedene Dinge getestet und die anderen Beiträge zu QueryAccess in diesem Forum gelesen. Ein Manko ist wohl, dass nur das Adressbuch durchsucht wird, das da liegt, wo das Skript ausgeführt wird. Das kann man mit einem einfachen "Doppelagenten" umgehen (also ein Agent, der einen anderen Agenten auf dem Server aufruft). Die umständliche Parameterübergabe kann man verkraften, wenn es hart auf hart kommt, dann nimmt man das Environment.

Schlimmer ist, dass nur das primäre Adressbuch durchsucht wird denn das ist bei meinen Kunden tödlich, weil es dort Weba- und Gruppenadressbücher gibt.

@Bernhard: Das es mit dem Common Name nicht geht find ich gar nicht so selbstverständlich, denn über den "Effective Access"-Button geht das auch. Er fragt zwar kurz nach, ob es sich um eine Gruppe handelt, berechnet dann aber korrekt den Zuriff. Und ansonsten funktioniert ja der CN auch überall (Autorenfelder, Leserfelder, Adressdialog, etc.). Ist nicht wirklich schön (und wird von mir auch tunlichst vermieden), aber es funktioniert. Und bei den Namen, die in der "Groups and Roles"-Dialog-Box erscheinen steht ja auch der CN mit drin drin.

Die Funktion "Effective Access" der ACL, das wäre genau das, was ich brauche, nur in LotusScript halt...  ;D

Naja, vielleicht in Version 17.5 ....

Nochmals Danke für Eure Hilfe.

Gruß,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #13 am: 12.03.09 - 18:19:22 »
Und ansonsten funktioniert ja der CN auch überall (Autorenfelder, Leserfelder, Adressdialog, etc.). Ist nicht wirklich schön (und wird von mir auch tunlichst vermieden), aber es funktioniert.

Ui, dann hast Du damit aber noch nicht viel gemacht und dadurch erlebt. Die Dokumentationen sprechen auch immer eine andere Sprache.

Bernhard

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #14 am: 12.03.09 - 18:39:26 »
lol - ne, nicht wirklich. Wie gesagt vermeide ich das, weil es bäh ist.

Aber ich kenne genug Datenbanken, die ausschließlich mit dem CN arbeiten, auch bei meinen Kunden...

JR
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #15 am: 13.03.09 - 09:02:09 »
Zitat
Die Funktion "Effective Access" der ACL, das wäre genau das, was ich brauche, nur in LotusScript halt... 

... mit Evaluate tut das auch in Script entsprechend

Toni
Grüßle Toni :)

Glombi

  • Gast
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #16 am: 13.03.09 - 09:21:30 »
lol - ne, nicht wirklich. Wie gesagt vermeide ich das, weil es bäh ist.

Aber ich kenne genug Datenbanken, die ausschließlich mit dem CN arbeiten, auch bei meinen Kunden...

JR
Das funktioniert dann und nur dann, wenn alle User- und Server-IDs, auf denen die Datenbank betrieben wird, vom selbem Certifier abstammen.
Und das kann sich ja irgendwann ändern... Und schon hat man ein riesiges Problem.

Andreas

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Zugriffsrechte eines Benutzers feststellen
« Antwort #17 am: 13.03.09 - 09:33:46 »
Zitat
Das funktioniert dann und nur dann, wenn alle User- und Server-IDs, auf denen die Datenbank betrieben wird, vom selbem Certifier abstammen.
Und das kann sich ja irgendwann ändern... Und schon hat man ein riesiges Problem.

Oder, und das ist bei einem Kunden passiert, wenn ein Mitarbeiter mit einem gleichen Namen kommt. Der urspüngliche Entwickler war nicht mehr verfügbar und so musste ich die komplette Datenbank umbauen.

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz