18. November 2009 12:12
Hallo zusammen,
ich bin dabei diverse Tools zu entwickeln, welche Daten via ODBC aus Navision ziehen und dann weiterverarbeiten.
Ich habe auch bereits alles am laufen und die ADO-Connections laufen einwandfrei. Allerdings nur, wenn ich den Zugriff mit einem User mache, der als Super-User angelegt ist. Bei Zugangsdaten eines "normalen" MA kommt aber leider "no permission".
Die Tools sollen aber künftig von diversen MA verwendet werden, welche natürlich keine Möglichkeit haben sollen auf alle Tabellen oder Daten zugreifen zu können, weshalb ich natürlich keinen Super-User zur Verfügung stellen will.
Wie kann ich es realisieren, dass ich entweder bei den MA einen ODBC-Zugriff einrichte, bei dem die eigentliche Rechtestruktur des MA greift (nur die Tabellen, Mandanten, Kostenstellen die er im Live-Betrieb auch hat)? Also sprich, welches Recht muss ich dem MA geben? Idealerweise auch nur lesender Zugriff per ODBC und nur auf bestimmte Tabellen.
Andere Alternative wäre, einen seperaten ODBC-User einzurichten, welcher dann aber eben nur Zugriff auf ausgewählte Tabellen hat. Das wäre insofern nicht problematisch, da die MA in der Regel über alle Mandanten die gleichen Rechte haben. Jedoch muss in jedem Fall vermieden werden, dass z.B. Tabellen aus dem HR-Bereich gelesen werden können. Da wir hier über ca. 6-8 Tabellen sprechen, die ausgelesen werden sollen, könnte man die schön vorher selektieren. Doch wie stelle ich diese Berechtigungen für ODBC ein?
Ich glaube zwar nicht, dass einer von denen in der Lage wäre eine ODBC-Connection selber aufzubauen, aber Vorsicht ist die Mutter der Porzellankiste. Falls doch ein Crack dabei ist, darf eben nur an die Daten kommen, die auch im Live-Betrieb zu erreichen wären. Ich schreibe den ganzen Code zwar in VBA und dieser wird auch geschützt, so dass die Zugangsdaten im Normalfall auch nicht gesehen werden können, aber ein Spezi könnte eben auch den VBA-Schutz aushebeln und so an den Code kommen. Ich weiß nämlich wie einfach das ist
, wenn man weiß wie...