Autor Thema: Feld mit UserRoles  (Gelesen 3516 mal)

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Feld mit UserRoles
« am: 02.11.05 - 16:01:08 »
Hallo Leute,
ich möchte gerne das bearbeiten von Dokumenten unterbinden.
Hierfür habe ich folgenden Code genommen:
Code
Sub Postopen(Source As Notesuidocument)
	
	Dim szStatus As String
	szStatus = source.FieldGetText("UserRoles")
	
'Wenn Doc im Lesemodus, dann Folgecode nicht beachten
	If Source.EditMode = False Then Exit Sub
	
'Prüfe Statusfeld...
	If Not szStatus ="[admin]" Then
		Msgbox "The 'edit mode' is not allowed.", 64, "Error"
		Source.EditMode = False 'Setze Dokument in Lesemodus
		Exit Sub
	End If
	
End Sub
und ein Feld Userroles in das Dokument eingebunden was ich mit
@UserRoles aber das Feld wird nciht mit der UserRole des Betrachters aktuallisiert.
Waran kann dies liegen????

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Feld mit UserRoles
« Antwort #1 am: 02.11.05 - 16:29:06 »
Was für ein Feldtyp ist es?
Sollte entw. Computed oder computed for display sein denke ich mal
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Feld mit UserRoles
« Antwort #2 am: 02.11.05 - 16:52:15 »
Hi Urs,

es ist ein Textfeld mit Berechnet zur Anzeige.

Gruss jörg

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Feld mit UserRoles
« Antwort #3 am: 02.11.05 - 17:10:31 »
Das sollte das Problem sein, mit berechnet sollte es wahrscheinlich gehen... aber warum nutzt du nicht ein Autorenfeld für deinen Zweck?

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Feld mit UserRoles
« Antwort #4 am: 02.11.05 - 19:08:43 »
Grundsätzlich muss ich Markus zustimmen, normalerweise nimmt man für sowas Autorenfelder.

Wie auch immer:

Das Feld sollte AFAIK "Berechnet" sein und NICHT "Berechnet zur Anzeige".



Ob der User eine bestimmte Rolle hat, würde ich per LotusScript abfragen:

Dim vEval as Variant
Dim strRolle as String
strRolle = "[ErDarfLesen]"
vEval = Evaluate(|@IsMember("| & strRolle & |"; @UserRoles)|)

If vEval(0) = 1 Then
    Msgbox "User hat die Rolle " & strRolle & " !!!"
End If
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Feld mit UserRoles
« Antwort #5 am: 02.11.05 - 19:45:10 »
Da das Feld (besser: Item) im FrontEnd abgefragt wird, ist vollkommen egal, ob das bearbeitbar, berechnet oder berechnet zur Anzeige ist - es spielt wirklich keinerlei Rolle.

Aber gestattet mir bitte folgende Anmerkungen:
- Das Bearbeiten von Dokumenten verhindert man nie und nimmer durch solcherlei Stunts. Damit hindert man den unbedarften User an bestimmten Aktionen, hat aber keinerlei (wirklich KEINERLEI) Sicherheit.
- Man verwende für sichere Aktionen Autorenfelder (das wurde hier schon geschrieben).
- Die Abfrage an sich ist zweifelhaft, da das Feld "UserRoles" via seiner Formel "@UserRoles" ohne weiteres uach Mehrfachwerte annehmen kann. Dies wird aber hier weder durch den Zugriff auf das Feld noch durch die Auswertung irgendwie berücksichtigt.
- Das Feld ist - genau, wie es Matthias "TMC" eben schrieb - vollkommen unnötig (und kann daher bestenfalls als "computed for display" temporär verwendet werden - ist aber wie gesagt unnötig): Die UserRoles können direkt und ohne Umfrage abgegriffen werden. Auch hier ist auf mögliche Mehrfachwerte zu achten.

Weiterhin und nur, um auf Nummer Sicher zu gehen: Hast Du, Jörg, ggf. lokal getestet, aber keine kACL erzwungen ? Dann würden keinerlei Roles greifen. Die prinzipiellen Kritiken oben betrifft aber auch dies in keinster Weise,

Um das Ganze einfacher zu gestalten: Was willst Du überhaupt erreichen, Jörg ? Da würde ja des Pudels Kern liegen und nicht im Zerpflücken von erforderlichen Feldtypen oder mögliche workarounds oder was weiss ich. Schreib' einfach auf, was Du sicherstellen möchtest. Dann können wir alle die Kristallkugel ausschalten  ;)

Bernhard

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Feld mit UserRoles
« Antwort #6 am: 03.11.05 - 07:46:48 »
 ::) ::) ::) Also was damit ereichen möchte ist eigentlich folgendes:
In der Datenbank gibt es diverse UserRoles welche auf den Server gepflegt sind.

Nun habe ich hier eine UserRoles "[admin]" definiert.
Nur bei dieser UserRoles darf es den Nutzer möglich ein Dokumente zum
bearbeiten zu öffnen, oder Aktionen auszuführen.
Dies wollte ich mit den o.g. Script und den Feld erreichen.

Das die UserRoles funktieren , sehe ich wenn ich diese entsprechend ändere und
dann die Datanbank öffne.

Gruss Jörg

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Feld mit UserRoles
« Antwort #7 am: 03.11.05 - 12:29:23 »
Also wenn du die UserRoles über die ACL gepflegt hast, dann ist ein Autorenfeld eigentlich genau die richtige Wahl für dich. Jedoch könnte es vielleicht auch reichen, den Zugriff so zu regeln, dass nur diejenigen, die schreiben sollen, auch Autorenrechte in der ACL bekommen. Wenn alle anderen nur lesen können müssen, dann würde ja Leserecht reichen. Und schon müsstest du nicht mehr in den Maskenevents solche Stunts versuchen, die meistens zu Problemen führen.

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Feld mit UserRoles
« Antwort #8 am: 03.11.05 - 12:59:41 »
So ich bin der ganzen sache etwas näher gekommen.....
Ich habe das Feld nun als Autoren und Berechnet zur Anzeige deklariert und
sie da nun klappt auch das Script ;-) mit den rechten zum bearbeiten.

Gruss Jörg

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz