[Gelöst] Visual Studio Code authorisierung zum NAV Server

6. Juli 2018 10:41

Hi,

ich habe eine neue VM wo NAV 2018 CU6 läuft, habe 2 Datenbanken/Instanzen am laufen (NAV Demo, und vom NAV Partner die Branchen Demo), beide DB/Instanzen sind über RTC, WebClient und Develeopment Environment erreichbar.

Nun wollte ich mich übers Visual Studio Code mit dem NAV verbinden, um die HellWorld Test Extension hochladen/installieren. Aber ich bekomme die Extension nicht "hochgeladen", "Failed with Code unauthorized"

Stellt sich mir die Frage, wo in NAV auf dem Server muss ich noch User Rechte ändern um mich über Visual Studio mit dem NAv Server verbinden zu können?
Bzw. was für ein User setzt Visual Studio Code vorraus?

Wenn ich in der VM Visual Studio starte und versuche unter localhost und Windows Auth. versuche zu verbinden kommt der Fehler:
Der Remoteserver hat einen Fehler zurückgegeben: (401) Nicht autorisiert.
Im Sicherheitspaket sind keine Anmeldeinformationen verfügbar

Danke
Zuletzt geändert von elTorito am 12. Juli 2018 16:03, insgesamt 1-mal geändert.

Re: Visual Studio Code authorisierung zum NAV Server

6. Juli 2018 13:18

In der launch.json hinterlegst du ja den Server zu dem du dich verbinden willst - und ebenso die Authentifizierungsmethode.

So gehts mit Windowsanmeldung:
Code:
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "al",
            "request": "launch",
            "name": "Your own server",
            "server": "http://MyLocalNAV2018-CU06",
            "serverInstance": "nav",
            "authentication": "Windows"
        }
    ]
}



So gehts mit UserPassword:
Code:
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "al",
            "request": "launch",
            "name": "Your own server",
            "server": "http://MyLocalNAV2018-CU06",
            "serverInstance": "nav",
            "authentication": "UserPassword"
        }
    ]
}


In dem NST muss EnableSymbolLoadingAtServerStartup aktiviert sein.

Re: Visual Studio Code authorisierung zum NAV Server

6. Juli 2018 14:22

Danis hat geschrieben:In dem NST muss EnableSymbolLoadingAtServerStartup aktiviert sein.


Ist schon auf True gesetzt. (in CustomSettings.COnfig vom Service

Auf den Server Ereignisprotokoll finde ich auch nirgendwo eine Fehlerhafte Anmeldung , bzw. ein Anmelde/Verbindungsversuch (Firewall ist aus)

Was mir auch noch aufgefallen ist, ich weiß nicht obs ein Zusammenhang gibt, im WebClient sehe ich nicht den WebClient Designer Button.
(Ich wollte mal andersherum probieren, mit dem Designer etwas ändern und den Code herunterladen, meine zu erinnern da standen die richtigen Settings auch drin)

Ich habe noch eine andere VM mit 11.0.19394, da geht alles , und ich kann kein Unterschied erkennen.

Auf der VM jetzt laeuft NAV 11.0.22292, SQL 2017 Evaluation , Win Server 2012.

Re: Visual Studio Code authorisierung zum NAV Server

6. Juli 2018 15:47

Komme der Sache etwas näher?

Ich habe jetzt Testweise den Server mal mit CredentialType Windows gestartet. Versucht die Symbole herunterzuladen, und es kam der Fehler dass ich keine Rechte auf die Table NAV App hätte,
dann habe ich ( wie hier gefunden) bei den Benutzergruppen/Berechtigungssätze den Mandant "Cronus AG" rausgelöscht. Anschließend wurden die Symbole heruntergeladen.

Also den Server wieder auf Credentials UserName gestellt, und das gleiche versucht, aber nach eingabe von Username/Passwort,

[2018-07-06 15:46:18.48] Using reference symbols cache path: c:\Users\***\Documents\AL\ALProject1\.alpackages
[2018-07-06 15:46:18.48] Please authenticate in the Visual Studio Code...
[2018-07-06 15:46:31.33] Using reference symbols cache path: c:\Users\***\Documents\AL\ALProject1\.alpackages
[2018-07-06 15:46:31.33] Sending request to http://localhost:7049/DynamicsNav110/de ... t=11.0.0.0
[2018-07-06 15:46:31.33] Sending request to http://localhost:7049/DynamicsNav110/de ... t=11.0.0.0
[2018-07-06 15:46:31.34] The request for path /DynamicsNav110/dev/packages?publisher=Microsoft&appName=System&versionText=11.0.0.0 failed with code Unauthorized. Reason: Unauthorized
[2018-07-06 15:46:31.34] The request for path /DynamicsNav110/dev/packages?publisher=Microsoft&appName=Application&versionText=11.0.0.0 failed with code Unauthorized. Reason: Unauthorized
The authentication has been cancelled.

Re: Visual Studio Code authorisierung zum NAV Server

9. Juli 2018 11:07

Guten Montag morgen,

schönste Zeit um liegengebliebene Probleme von Freitag Nachmittags anzuegehen :-)

Folgendes kann ich reproduzieren:

Logge mich per RDP auf der VM ein mit pkarsten

NAV Instanz DynamicsNAV110 wird gestartet mit UserCredentials Windows.
Visual Studio Code
Code:
"type": "al",
            "request": "launch",
            "name": "Your own server",
            "server": "http://nav18test",
            "serverInstance": "DynamicsNav110",
            "authentication": "Windows",
            "startupObjectId": 22

Download Symbols:
Code:
[2018-07-09 10:58:17.13] Using reference symbols cache path: c:\Users\pkarsten\Documents\AL\ALProject1\.alpackages
[2018-07-09 10:58:17.13] Sending request to http://***:7049/DynamicsNav110/dev/packages?publisher=Microsoft&appName=Application&versionText=11.0.0.0
[2018-07-09 10:58:17.13] Sending request to http://***:7049/DynamicsNav110/dev/packages?publisher=Microsoft&appName=System&versionText=11.0.0.0
[2018-07-09 10:58:17.64] All reference symbols have been downloaded.


Alles Gut!

Nun Start der Instanz mit CredentialsType Username:
Visual Studio Code:
Code:
"configurations": [
        {
            "type": "al",
            "request": "launch",
            "name": "Your own server",
            "server": "http://nav18test",
            "serverInstance": "DynamicsNav110",
            "authentication": "UserPassword",
            "startupObjectId": 22
        }


Benutze User pkarsten wie an der VM angemeldet und erhalte:
Code:
[2018-07-09 11:01:18.39] Using reference symbols cache path: c:\Users\pkarsten\Documents\AL\ALProject1\.alpackages
[2018-07-09 11:01:18.39] Please authenticate in the Visual Studio Code...
[2018-07-09 11:01:23.22] Using reference symbols cache path: c:\Users\pkarsten\Documents\AL\ALProject1\.alpackages
[2018-07-09 11:01:23.22] Sending request to http://***:7049/DynamicsNav110/dev/packages?publisher=Microsoft&appName=Application&versionText=11.0.0.0
[2018-07-09 11:01:23.22] Sending request to http://***:7049/DynamicsNav110/dev/packages?publisher=Microsoft&appName=System&versionText=11.0.0.0
[2018-07-09 11:01:23.22] The request for path /DynamicsNav110/dev/packages?publisher=Microsoft&appName=Application&versionText=11.0.0.0 failed with code Unauthorized. Reason: Unauthorized
[2018-07-09 11:01:23.22] The request for path /DynamicsNav110/dev/packages?publisher=Microsoft&appName=System&versionText=11.0.0.0 failed with code Unauthorized. Reason: Unauthorized
The authentication has been cancelled.


An Welcher Schraube muss noch drehen damit es per Credentials UserName klappt?

Kann man den Anmeldungsversuch irgendwie protokollieren, nirgendwo in den Ereignislogs finde ich ein Anmeldeversuch oder aehnliches.

Vielleicht hat noch jemand eine Idee.

Danke.

Re: Visual Studio Code authorisierung zum NAV Server

9. Juli 2018 13:31

Nur um sicher zu gehen:
Den Username & Password welchen du dann in VSCode eingibst hast du auch so in NAV hinterlegt, oder? Also nicht als WindowsUser sondern als NAV-User.
Und dieser Nutzer hat dann auch die Rolle SUPER?

Re: Visual Studio Code authorisierung zum NAV Server

9. Juli 2018 14:21

Danis hat geschrieben:Nur um sicher zu gehen:
Den Username & Password welchen du dann in VSCode eingibst hast du auch so in NAV hinterlegt, oder? Also nicht als WindowsUser sondern als NAV-User.
Und dieser Nutzer hat dann auch die Rolle SUPER?


Ja. Der/die User womit ich versuche haben die SUPER Rolle in NAV.
Allerdings ohne Mandant.

Bei Credentials Windows und wenn der SUPER User ein Mandant hinterlegt hat bekomme ich den Fehler: You do not have the following permissions on TableData NAV App: IndirectRead
Bei Credentials UserName keine Veränderung. Einfach nur Reason: Unauthorized

Re: Visual Studio Code authorisierung zum NAV Server

12. Juli 2018 16:02

Ich glaub ich hab die Lösung.

Habe jetzt die NAV Instanz mit Credentials NavUserPassword gestartet, in Visual Studio Code Credentials UserPassword, und kann die Symbole herunterladen.

Die NAV Instanz kann Credential Types Windows, UserName, NavUserPassword .. haben.
In Visual Studio Code kann die Authentication AAD, Windows, UserPassword sein.

Das UserPassword in der launch.json entspricht dann wohl NAVUserPassword und nicht UserName (wie ich angenommen hatte), und eine Authentifizierung über UserName ist scheinbar nicht möglich?