Also ich möchte auf dem Frontend(auf z.B. auf der Maske) die Rollen der Nutzer prüfen, z.B. beim OnQueryChangeMode wird überprüft, ob der Nutzer der Ersteller des Dokumentes ist oder ob die Rolle Admin hat, wenn nicht wird abgebrochen.
Bedenkenswert (aus meiner Sicht):
-> code muss auch im Postopen sein (wenn user Dokument im Editiermodus öffnet). Oder du verhinderst das öffnen im Editiermodus im Postopen ganz (also wieder zusätzlicher Code). Ob das wirklich so notwendig ist, ist eine gute Frage und hängt von der Anwendung ab. Ich würde Leser/Autorenfelder in aller Regel immer präferieren.
Ich würde das als sicher genug ansehen. Benötigst aber auf jeden Fall Konsistente ACL, da sonst lokal die Rollen nicht funktionieren.
wo ich keinen Vorteil sehen würde, der den Aufwand lohnen würde, sie zu hacken, wenn es allerdings irgentwie möglich sein sollte den "Fernzugriff" zu unterbinden, wäre schon nicht schlecht
LASS ES
Notes-Datenbanken bekommen eigentlich ihr "Remote-Interface" (um es in J2EE Lingua auszudrücken) von der Plattform, ohne dass man da als Entwickler eingreifen könnte.
Da kann man nicht abfragen, von wo der Call kam. Allenfalls als was dieser Call authentifiziert ist (und das sind keine Anwendungen sondern User- oder Server-IDs). Falls jemand auf deine Datenbank zugreift, ist es nicht dein Problem.
Selbst wenn es möglich wäre, sollte immer gefragt werden, ob sich der Aufwand (inklusive zusätzliche Komplexität in der Anwendung für die Zukunft) lohnt.
mein schlimmstes Security/Datenkonsistenz-Problem der letzten 18 Monate:
Ich hab schon Leute erlebt, die sich stundenlang über notes-security ereifern konnten und dann habe ich in der ihren Anwendungen Stellen gefunden, wo User fröhlich über einen technischen DB2-User Datensätze in einer DB2 Datenbank löschen konnten, ohne dass dies irgendwo auch nur geloggt wurde oder der User benachrichtigt wurde.
Wenn der Progger dann noch so nachlässig war, dass die From-clause einfach wegfiehl, wenn ein bestimmter bug auftrat, so dass Delete From xxxxx gegen die RDBMS gesendet wurde, dann hast du ein *ernsthaftes* Security/Datenkonsistenz-Problem. Vor allem wenn auch noch andere Anwendungen von dieser DB2-Tabelle abhängig sind wie Keith Richard von Heroin in den 70ern.
Zum Glück standen in der Tabelle "nur" ca 15 Tupel mit Konfigurationsdaten.
Ansonsten würde ich strikt die Basics einhalten und die Möglichkeiten von Notes-Security nicht überladen mit kreativen, anstrengenden Ideen, die keinen wirklichen praktischen Mehrwert bieten. Irgendjemand hat mal gesungen "Ich hol dir keine Sterne mehr vom Himmel. Die liegen ja dann doch nur bei uns rum".
Axel