Lately we run into following issue. Following the WhitePaper Flexible Authentication in Microsoft Dynamics AX 2012 you create Form Based authentication provider using following command:
That works perfectly fine when you aspnetdb database is located on the same server as SharePoint. If you have database on other server then in web.config located in:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\<ProviderName>\
So if you look on above example it will be
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\FormsAuth\
You can see that connectionString tag has following value:
<connectionStrings>
<add name="FormsDB" connectionString="Data Source=.;Initial Catalog=aspnetdb;Trusted Connection=true"/>
</connectionStrings>
In situation when your aspnetdb would is on different server in the minute you try to log using Form Based authentication you will get error and you will be unable to login. You can work around it in two ways:
- Add parameter –ConnectionString to above command with correct connection string (this solution is preferable). So the command would look like:
- If you already run the command you can:
- Manually change connection string in web.config as given above
- Delete file C:\Windows\System32\WindowsPowerShell\v1.0\powershell.config if it exists. If you don’t delete above file it can be that when you run command
You can get error
New-AXUser : The entry 'FormsDB' has already been added. (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\Layouts\FormsAuth\web.config line 39)