NavigationsMenü abhängig von Berechtigungssatz ausblenden

13. Dezember 2016 15:56

Hallo,

gibt es eine Einstellung, mit der nur die Menüeinträge (Navigation und Ribbon) angezeigt werden, für die der Benutzer auch die Berechtigungssätze hat.

Ein Beispiel: Ich geben dem User die Basis-Rolle. Auf der linken Navigationsleiste sieht dieser unter anderem immer noch die kompletten Einträge von „Verwaltung“ und „Finanzmanagement“. Er kann sich z.B. unter Verwaltung\IT-Verwaltung\Daten löschen\Posten löschen\: bis zum Filter „Inventurposten löschen“ vorklicken, aber erst beim OK-Klick teilt ihm das System mit, dass er (zum Glück) nicht das Recht dazu hat.

Gruß
Peter
Zuletzt geändert von pcg75dank am 15. Dezember 2016 18:30, insgesamt 1-mal geändert.

Re: Menüeinträge abhängig von Benutzerrechten/Berechtigungss

13. Dezember 2016 16:15

Das von dir gesuchte Property hört auf den Namen "AccessByPermission" 8-)

Re: Menüeinträge abhängig von Benutzerrechten/Berechtigungss

13. Dezember 2016 16:22

Hi TImo,

danke. Aber ich brauche mehr Details (Didi Hallervordern - Der Dopplegänger :-) )

Wie und wo pflege ich das Property, in der MenuSuite ?

Gruß
Peter

Re: Menüeinträge abhängig von Benutzerrechten/Berechtigungss

13. Dezember 2016 16:43

Hallo,

glaube nicht, dass AccessByPermission by MenuSuite funktioniert, bzw. überhaupt existiert.

Ich glaube das funktioniert auch bei Kacheln/Stapeln nicht. Wollte mal eine Kachel durch AccessByPermission
unsichtbar machen. Hab es glaub in der cue-Tabelle und der Activities-Page eingebaut. Es kam aber zu einer
Fehlermeldung. An den genauen Wortlaut erinnere ich mich nicht mehr. Auf jeden Fall wurde wegen des
Fehlers keine einzige Kachel angezeigt.

Im Menüband wird das sicher/wahrscheinlich funktionieren.

Andi

PS:
Guter Film

Re: Menüeinträge abhängig von Benutzerrechten/Berechtigungss

13. Dezember 2016 17:01

vempire hat geschrieben:glaube nicht, dass AccessByPermission by MenuSuite funktioniert, bzw. überhaupt existiert.
Doch, tut es ;-)
Allerdings nicht auf Ordner-Ebene, sondern nur auf Menu-Item-Ebene.
Onlinehilfe: AccessByPermission Property

Re: Menüeinträge abhängig von Benutzerrechten/Berechtigungss

13. Dezember 2016 17:38

Sorry Natalie,

ich werde aus der Online-Hilfe nicht schlau. Muss ich es jetzt pro Objekt am dem Pages pflegen wie in der Online-Hilfe beschrieben oder kann ich es in der MenueSuite machen.

Falls Ja, wie ? Export als TXT und dann AccessByPermission Property=Yes; hinzufügen ?

OBJECT MenuSuite 1010 Dept - MBS
{
OBJECT-PROPERTIES
{
Date=15.09.15;
Time=12:00:00;
Version List=NAVW19.00;
}
PROPERTIES
{
}
MENUNODES
{
{ Root ;[{00000000-0000-0000-0000-000000000000}] ;FirstChild=[{F8D2429D-034B-4C58-9B5E-81BE962DB1BC}] }
{ Menu ;[{F8D2429D-034B-4C58-9B5E-81BE962DB1BC}] ;Name=Finance;
CaptionML=[DEU=Finanzmanagement;
ENU=Financial Management;
DEA=Finanzmanagement];
ParentNodeID=[{00000000-0000-0000-0000-000000000000}];
Image=1;
IsShortcut=No;
Visible=Yes;
Enabled=Yes;
AccessByPermission Property=Yes;
NextNodeID=[{2DC8C4FE-7346-4124-8C20-383346384C03}];
FirstChild=[{B12180CF-0EFB-43AD-9118-7765E953AAFD}] }

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

15. Dezember 2016 18:31

Hallo,

ich habe die Überschrift einmal angepasst bzw. präzisiert.
Mir geht es primär um die linke Navigationsleiste. Dort sollen die Einträge ausgeblendet werden.

Gruß
Peter

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

16. Dezember 2016 09:39

Hallo,

hast du schon Design bei einer MenuSuite versucht? "Zugriff nach Berechtigung" geht natürlich nicht auf den Menüpunkt
"Posten löschen". Man muss schon einen der Berichte auswählen.

Ich hab's nicht getestet. Kann also nix dazu sagen. Ich wollte nur optisch zeigen, wo es zu finden ist.

Wir haben das ganze Abteilungsmenü in den meisten Rollen ausgeblendet. Weil da einfach viel zu viel angezeigt wird.
Nur die Fibu und die IT-Rolle sehen Abteilungen.

Andi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

16. Dezember 2016 10:21

Hallo,

eine nicht ganz unwichtige Option ist die Option "UIElementRemovalOption" in der "CustomSettings.config" des ServiceTiers.
Hier gibt es die Optionen: None, LicenseFile und LicenseFileAndUserPermissions. Mit den entsprechenden Optionen kannst du steuern ob und welche Menüeinträge ausgeblendet werden.

Wobei die Userpermissions entweder über die Berechtigungen der Benutzer auf Tabellenebene, oder über die Permissionsabfrage beim MenuItem gesteuert werden können.

Gruß Fiddi

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

13. Januar 2017 12:24

Hi Fiddi,

sorry dass ich mich jetzt erst melde. Urlaub und Notfälle :cry:

Also das wäre genau die Funktion die ich bräuchte, aber leider steht die Option bei mir schon auf "LicenseFileAndUserPermissions"

Ich bin auf dem Front-End-Server im Installationspfad C:\Program Files\Microsoft Dynamics NAV\90\Service . DB- und Servername in der Config stimmen auch. Wenn ich mich aber als Otto normal User anmelde sehe ich erstmal alles. Erst wenn ich tief runterklicke erhalte ich die Fehlermeldung....

Also was mach ich falsch ?

Kann es an der Lizenz liegen. Da ist (noch) die Super-Duper Lizenz unseres NAV-Partners.....



Code:
  <!--
    The type of permissions used for removing UI elements:
    Possible values:
   
        None                           - No UI Elements will be removed
        LicenseFile                    - Only object permissions in the License File will be used.
        LicenseFileAndUserPermissions  - Both object permissions from the License File and User Permissions system will be used.
  -->
  <add key="UIElementRemovalOption" value="LicenseFileAndUserPermissions" />

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

13. Januar 2017 13:01

Hallo
Kann es an der Lizenz liegen....

Das solltest du nicht so laut sagen, da könnte jemand Ärger bekommen.

Aber ja, das ist natürlich auch der Grund.
Ein weiterer Grund könnte sein, das der Anwender das Änderungsprotokoll sehen darf, dann darf er bei den Standardberechtigungen auch diesen Report (Änderungsprotokoll löschen) starten (könnte ja sein, das er nur auswertet).

Du kannst jetzt über das "Company- Menü" festlegen, das der Benutzer die Berectigung "Löschen" benötigt, um diesen Bericht zu sehen (Das hätte auch der Standard schon so machen können :roll: ) Dann musst du für diese(n) Benutzer in den Berechtigungen für entsprechend einstellen. Außerdem dürfen die natürlich keine SUPER Rolle mehr haben.

Gruß Fiddi

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

13. Januar 2017 14:34

Hi Fiddi,

jetzt hast du mich verwirrt, aber der reihe nach....

fiddi hat geschrieben:Hallo
Kann es an der Lizenz liegen....

Das solltest du nicht so laut sagen, da könnte jemand Ärger bekommen.


Mein Geschäftsführer musste vom Partner und Microsoft offizielle Dokumente unterschrieben. Ist nur temporär und sicherlich rechtens.. aber ich nenne natürlich keine (Partner)-Namen

fiddi hat geschrieben:Ein weiterer Grund könnte sein, das der Anwender das Änderungsprotokoll sehen darf, dann darf er bei den Standardberechtigungen auch diesen Report (Änderungsprotokoll löschen) starten (könnte ja sein, das er nur auswertet).


Das mit dem Änderungsprotokoll bzw. mit den Daten löschen war nur ein Beispiel. Der User sieht wirklich ALLE Menüeinträge …..obwohl er nur die Basisrolle hat und dementsprechend nur die wenigsten der angezeigten Funktionen nutzen/ausführen darf. --> Oder kurz gesagt: die Einstellung am Service Tier wird ignoriert. Welchen Grund kann das haben? Bin ich vielleicht doch an der falschen Stelle auf dem Front End Server? Kann ich die Config-Einstellung lokal beim User auch einmal mit der Option „beglücken“?

Danke und Gruß
Peter

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

13. Januar 2017 14:56

Hallo,

da bin ich jetzt ein wenig überfragt.

Schaue bitte mal in den Berechtigungssatz BASIS (den dein Benutzer ja nur hat), ob da bei euch ein Eintrag mit Table-Data Objekt-ID 0 drin steht.

Gruß Fiddi

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

13. Januar 2017 15:49

Hallo Fiddi,

In „Table Data“ habe nicht die ID 0. Aber Objekt „Table“ hat ausführen für alle. Genau wie Code-unit, etc. Das muss wohl so sein, oder? Siehe Dateianhang.

Gruß
Peter

Basisrolle.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

13. Januar 2017 16:06

Hallo,

Da musst du jetzt mal testen, und probieren.
In den Classic- Versionen war die Menüanzeige mit der Berechtigung für den Tabelle verknüpft. evtl. ist das heute anders. Was auf alle Fälle funktioniert ist die Anzeige über die Lizenz (hab ich gerade ausprobiert).

Zum Test:
1. Bitte erfinde eine Rolle "BASISXDEF" in der du alle Berechtigungen mit ID =0 aus BASIS einträgst.
2. Diese neue Rolle weist du allen Benutzern zu, die auch die Rolle BASIS haben, außer dem Benutzer, mit dem du testen willst.
3. Entferne die Berechtigungen aus BASIS, die du in BASISXDEF eingetragen hast.
4. Erfinde eine Rolle "BASISXSPEC"
5. Weise diese Rolle deinem Testbenutzer zu.
6. In dieser Rolle trägst du alle nötigen Berechtigungen auf Objekte außer TableData ein, die du benötigst, bis der RTC wieder startet.

Wenn du es geschafft hast, den RTC wieder zu starten, dann schaue bitte mal, was die Menüs dir noch anzeigen.

Gruß Fiddi

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

13. Januar 2017 16:43

Hi Fiddi,

ja, gute Idee. Zwei Tabellen (79 + 90) konnte ich über die Fehlermeldung beim nicht Starten des Clients hinzufügen. Jetzt kommt aber die nichtssagende Meldung (sogar auf Deutsch) „Die Anforderung konnte nicht vom Server „Name“ verarbeitet werden. Die Anwendung wird beendet"

Verdammt, das muss doch gehen..

Trotzdem Danke !!

Re: NavigationsMenü abhängig von Berechtigungssatz ausblende

13. Januar 2017 20:55

Hallo,

evtl. findest Infos in der Ereignisanzeige auf den Client oder wahrscheinlich besser auf dem Servicetier.

Was du aber pro forma schon mal rein tun kannst, sind die Codeunits 1, 40-47 und 423. evtl. kommst du dann ja schon weiter.

EDIT: Die Rolle BASIS sollte der Testbenutzer schon behalten, aber nur die Table-Data- Einträge in der Rolle drin lassen.

Gruß Fiddi