[SOLVED] NavUserpassword authentication - possible to use with RTC?

TomigsTomigs Member Posts: 85
edited 2016-03-09 in NAV Three Tier
Hi,

In NAV2016, is it possible to use non-windows users in the RTC client? Or using the RTC you always have to have a Windows user behind?

Let me explain: I would like to create test users for that database, but ideally I would like to avoid creating one Windows user for these users.

Like in the old times, where you could create database users, and the classic client would ask you for the username and password.

I'm almost sure that we cannot, but reviewing the documentation I don't see it clearly stated. I wonder if there is one option that I'm missing. Like creating a user with the NAV Password authentication instead of Windows, creating a NavUserPassword NST and when running the RTC would ask you for user and password?

Is this science fiction?

Thanks,

Tomas

Best Answer

Answers

  • TomigsTomigs Member Posts: 85
    Thank you for your quick answer Mohana.

    I had already seen that page, but I'm afraid I don't fully understand it (or I resist to it):

    For the NavUserPassword credential type, it says:
    The user is prompted for username/password credentials when they start the client

    That sounds good, but then:
    The credentials are then validated by an external mechanism
    And:
    This mode is intended for hosted environments, for example, where Microsoft Dynamics NAV is implemented in Azure.

    That is not my case.

    I have actually done a test (maybe missed something) setting up an external NST with the NavUserPassword option with certificates, but I cannot access it through the RTC. It sais "Cannot connect to the server because of a protocol mismatch..."
    Maybe I'm just doing something wrong.


    For the UserName option seems to fit perfectly with what I want:
    "With this setting, the user is prompted for username/password credentials when starting the RoleTailored client."
    But next it states:
    There must already be a corresponding user in Windows
    So, it seems that I actually need to have a Windows user behind that is what I wanted to avoid creating.

  • rsaritzkyrsaritzky Member Posts: 469
    In the same article mentioned above, it also says "All users of a Microsoft Dynamics NAV Server instance must be using the same credential type. You specify which credential type is used for a particular Microsoft Dynamics NAV Server instance in the Microsoft Dynamics NAV Server Administration tool." This seems to imply that you can't have both "normal" automatic authentication and a "userid/password" in the same database.

    I don't know if you could add a second server instance connected to the same database... might be interesting to try.

    Ron
    Ron
  • TomigsTomigs Member Posts: 85
    Guys, thank you all for your answers. I have finally managed to access the database through the RTC using NavUserPassword credentials instead of Windows.

    Saurav, I have checked the steps in you blog and I have realised that I had the wrong credential type in the local file ClientUserSettings.config file (it was Windows and not NavUserPassword). Once changed that it worked.

    So, summarizing the steps that I had to do to get it working were:
    • In Nav administration tool, set up a NST service with Credential type "NavUserPassword" and with the "Certificate thumbprint" information filled (so need to have installed previously the certificates in the server).
    • Inside NAV Set up a user with NAV password authentication instead of the Windows one.
    • In Windows Explorer, for the computer where you are running the RTC, edit the clientUserSettings.config file to make sure that the credential type specified in it is "NavUserPassword" and not "Windows".

    With this, the RTC will ask you for user and password.

    PS - rsaritzky, note that they speak about not different user types for the instance and not for the database. So you can have different types of users in the database, but not in the NST.

    Thanks,

    Tomas
  • rsaritzkyrsaritzky Member Posts: 469
    Tomas,

    You said "they speak about not different user types for the instance and not for the database. So you can have different types of users in the database, but not in the NST."

    So did you have to set up 2 separate service tiers (NST's), one with Credential Type = Windows (for users that you want to authenticate through Windows) and another one with Credential Type = NavUserPassword?

    Ron
    Ron
  • SilverXSilverX Member Posts: 134
    I'm not Tomas, but exactly this is what he meant.
    Cheers
    Carsten


    ==> How To Ask Questions The Smart Way

    This post is my own opinion and does not necessarily reflect the opinion or view of my employer.
  • mdPartnerNLmdPartnerNL Member Posts: 802
    I think he is using only NavUserPassword.
  • TomigsTomigs Member Posts: 85
    Hi, Ron sorry for the late response.
    Yes, as SilverX said, that is the case. For the same database you can set up:
    * One NST with Windows credential type, which will only accept Windows users
    * Another NST with NavUserPassword credential type for the NavUserPassword users.

    If from the RTC you connect to the database using the connection string for the NavUserPassword NST, it will ask you for your user and password.

    Regards,

    Tomas
  • Krupesh_DaiyaKrupesh_Daiya Member Posts: 2
    If you are changing clientusersettings.config file then how do you ensure that for this NST it will use windows settings and for the other NST it will use NavUserPassword settings. I tried doing this but it did not work for me. I have a scenario where it may be required to configure both the windows settings and the NavUserPassword settings but it prompts for password even if you change the NST while logging in to NAV. The version we are using is NAV 2016.

    Can anyone suggest what should be done in this case?

    Regards,

    Krupesh
    Krupesh Daiya
    Mumbai
    India

    Tel: 91-8080864922

    Email: d_krupesh@yahoo.com
  • navuser1navuser1 Member Posts: 1,329
    If you are changing clientusersettings.config file then how do you ensure that for this NST it will use windows settings and for the other NST it will use NavUserPassword settings. I tried doing this but it did not work for me. I have a scenario where it may be required to configure both the windows settings and the NavUserPassword settings but it prompts for password even if you change the NST while logging in to NAV. The version we are using is NAV 2016.

    Can anyone suggest what should be done in this case?

    Regards,

    Krupesh

    Create two different NAV Services to access the (same) NAV Database.
    1. NST1- NavUserPassword Authentication
    2. NST2- Domain User

    Now, you have to configure the RTC to access the NAV database thru proper channel (NST1/NST2) as per your requirement (authentication feasibility).
    Now or Never
  • afarrafarr Member Posts: 287
    Krupesh,

    The ClientUserSettings.config determines whether the Nav client (RTC) will use Windows authentication or NavUserPassword authentication.

    As Tomas mentioned on 18 January 2016:
    In Windows Explorer, for the computer where you are running the RTC, edit the clientUserSettings.config file to make sure that the ClientServicesCredentialType is "NavUserPassword" or "Windows"

    You then need to connect to an NST which has the same Credential Type, otherwise you get a "protocol mismatch" error.

    Alastair
    Alastair Farrugia
  • TomigsTomigs Member Posts: 85
    Krupesh,

    Agree with the comments above: at the server you need to have different NSTs for the different authentication methods (Windows/NavUserpassword).

    In your local computer, where you have your NAV RTC client installed, you need to modifiy the clientusersettings.config file so that it matches the authentication method you want to use.

    If you need to have both authentication methods (Windows and NavUserpassword) from the same computer, you can use a trick: have different "ClientUserSettings.config" files in a folder. And then create shortcuts that run NAV using one or the other file as configuration.

    For example:

    "C:\Program Files (x86)\Microsoft Dynamics NAV\71\RoleTailored Client\Microsoft.Dynamics.Nav.Client.exe" -settings:"C:\Users\Tomas\AppData\Roaming\Microsoft\Microsoft Dynamics NAV\71\ClientUserSettingsLiveNAVUSERPassword.config"
Sign In or Register to comment.