[gelöst] Insert in Permission (2000000005)?

3. November 2008 17:16

Ich habe folgende dankbare Aufgabe:
Für 20 schon vorhandene Objekte (die eine Änderung durch ein neues Modul erfahren haben) sollen die Rollen ermittelt werden in denen das jeweilige Objekt vorkommt. Relativ einfach - man liest die Tabelle Permission (2000000005). Nun soll in jeder gefundenen Rolle das im geänderten Objekt angesprochene neue Objekt mit entsprechender Berechtigung versehen werden. Erste Untersuchungen zeigen, dass im Schnitt jedes der 20 Objekte in 15 Rollen verwendet wird. D.h. Ich muss 300 Rollen anfassen und jeweils mindestens ein (neues) Objekt der Rolle hinzufügen. Manuell scheint mir das sehr aufwändig und fehleranfällig zu sein. Ich hab nun die Idee mit einem Report die gefundenen Rollen abzuarbeiten und einfach einen Insert in die Permission-Tabelle zu machen. Ich konnte aber nirgends was dazu finden ob das (in Verbindung mit der fälligen Synchronisation) ausreicht.

Ehrlich gesagt kapier ich nicht so recht wie das normalerweise gehandhabt wird - bekommt da jeder Leserechte auf die neuen Objekte?

Zusatzfrage: Ich habe einfach mal ein paar Zahlen zusammengetragen:
Windows Login: 360 Datensätze
User Role: 115 Datensätze
Permission: 17485 Datensätze
Wie liegen die Zahlen nach Eurer Erfahrung? Hoch, mittel oder niedrig?
Bin gespannt auf Eure Meinung.
WoF
Zuletzt geändert von WoF am 6. November 2008 10:50, insgesamt 1-mal geändert.

Re: Insert in Permission (2000000005)?

3. November 2008 21:10

Hallo !

Schau dir doch mal User Rights Setup bei mibuso an. Hier findest du einige Informationen, wie die Benutzerrechte funktionieren, und wie Sie eingerichtet werden.

Frage: Nach welcher Methode legst du die Rollen an? 1. Lagerarbeiter, Verkäufer, Buchhalter,... oder 2. 'Auftrag buchen', 'Bestellung erstellen', 'Bestellung buchen',...?

Wenn du die Rollen nach 1. erstellst, musst du natürlich für jede Rolle die Rechte erstellen. Legst du die Rollen nach der Methode 2. an, kannst du u.U. einen Großteil der Änderungen einsparen, indem du für bestimmte NAV-Funktionsbereiche Rollen erstellst, und diese später den Benutzern zusätzlich zuordnest.

Gruß, Fiddi

Re: Insert in Permission (2000000005)?

4. November 2008 10:35

Der mebuso-Tipp war nicht schlecht. Hab mir das sofort angesehen und dabei festgestellt dass dies wohl einer meiner Vorgänger schon installiert hat. Nun guck ich mir diese Tools mal noch genauer an. Soweit ich gesehen habe kann man wirkliche einfach die Permission-Tabelle schreiben.

Zu der Frage nach welcher Methode die Berechtigungen angelegt werden: So wie es scheint gibt es für jedes Modul 3 Berechtigungen: Admin, Lesen, Schreiben. Da aber nun verschiedene Module z. B. auf die "Prod. Order Line" zugreifen ist diese Tabelle nun in verschiedenen Rollen enthalten. Also ist es wohl eher die Methode 2. Und der Chef will nun keine zusätzliche Rolle für die Basisfunktionalität des neuen Moduls sondern die entsprechende Anpassung der vorhandenen Rollen. In gewisser Weise ist dies auch plausibel: Es ist ja nicht sinnvoll einem User eine Rolle zu erteilen die einzeln nicht funktionsfähig ist (weil darin eine Tabelle enthalten ist die schon beim Lesen auf das neue, nicht berechtigte, Modul zugreift). Und weil der Hersteller des Modules diese schön gekapselt hat reicht es auch nicht einer zentralen Rolle die indirekten Leserechte zu geben weil immer eine Codeunit dazwischengeschaltet ist. Da ich noch ziemlich neu in Navision und in der Firma bin enthalte ich mich zunächst mal eines Urteils über die Zweckmässigkeit dieser Rechtevergabe.

Re: [gelöst] Insert in Permission (2000000005)?

6. November 2008 10:51

Nach Untersuchung der Tools habe ich meinen Report getestet und es hat alles funktioniert. Man kann also tatsächlich die Tabelle einfach schreiben und nach Synchronisation haben dann die User die neuen Rechte.