This project has moved and is read-only. For the latest updates, please go here.

Can't log in to openPDCManager after install

Mar 18, 2011 at 10:19 PM

I set up a VM and did a clean install of Windows 7 Pro, MS SQL Server 2008 R2, .NET 4.0, and Silverlight 4. After that I installed openPDC using the 1.4 install package from the front page. It appears to install but when openPDCManager starts up, no login page is displayed. The splash screen displays and I then get an error box with the text

openPDC Manager :: Access Denied

Error loading security provider: An item with the same key has already been added.

If I close that, openPDCManager just spins, consuming all CPU. I tried to select defaults where possible and tested the DB connection. This is the second time. After the first I deleted the VM and carefully started clean. Any clues on how to fix this would be appreciated.

Mar 18, 2011 at 11:06 PM

This is probably identical to the following Issue in the tracker.

http://openpdc.codeplex.com/workitem/8236

If you are using Windows Integrated Security for SQL Server, the work around is to UNCHECK the "Use integrated security for openPDC Manager" checkbox on the database Configuration Setup and add "; Integrated Security=SSPI" to the connection string using the Advanced button in the Configuration Setup.

Screen shots of a similar installation and setup procedure with the work around are in the following document:

http://openpdc.codeplex.com/wikipage?title=Typical%20openPDC%20Installation%20and%20Setup

The above work around is for the database connection "Access Denied" issue.  The RAM and CPU Load is a different issue.  When the database connection string works properly, there is minimal CPU and RAM use by openPDC Manager.  This is not a problem with running in a virtual machine.

Arnold

Mar 19, 2011 at 3:33 AM

Rather than re-install I went and edited openPDC.exe.config and openPDCManager.exe.config and removed the duplicate instance of 'Integrated Security=SSPI' which seems to have cleared up the problem. However, now I am having this problem -

http://openpdc.codeplex.com/workitem/8260

although I can see the login data in the DB via Management Studio and UseADAuthentication is set, I am still prompted with the login screen and no password I try seems to work. It's probably because the Password field is NULL. I tried setting it but I suspect putting a plaintext password there won't work.

Mar 19, 2011 at 3:02 PM

Just run the Configuration Setup Wizard again with a new database without checking the integrated security checkbox. The setup utility has to have access to the database to properly define the initial admin user.

Thanks!
Ritchie

Mar 22, 2011 at 4:36 PM
Edited Mar 22, 2011 at 5:41 PM

I have tried that multiple ways now and still cannot login. I have tied with and without "pass-through security" which makes no difference. The problem seems to be that it's prompting me for a password at all -- why is it not using Windows authentication, since I am logged in? I don't think it's possible at that point since the user record in the database has a NULL password and there's nothing I can type to match that. It's not a matter of having access as the database is created and populated, including the user record.

Here's the record in the userAccount table -

http://farm6.static.flickr.com/5293/5549860679_f036e5036c_o.png

 

P.S. If I close the login window, openPDCManager.exe consumes an entire CPU and rapidly uses 1.6G of memory. That seems a bit much for just a management console. Why doesn't it terminate when I fail to log in?

Mar 22, 2011 at 7:34 PM
Edited Mar 22, 2011 at 7:35 PM

For a database user there needs to be a password - this is encoded, so the only way to add this is through the setup wizard (for the initial user) or the openPDC Manager for other users.

For active directory or local NT account users, all you need is a macthing user name. The important thing to remember with NT users is that the user name must always be prefixed with a domain name or machine name.

For example, in the image you provided an active directory style user with the a user name of "OPENPDC\amc". This user name is prefixed with "OPENPDC", thus I am assuming then that your computer name is OPENPDC and there is an active user on the OPENPDC box called amc that can login and authenticate.

If you are (1) logged in as OPENPDC\amc, (2) pass-thru authentication is enabled (i.e., the "configuration/userSettings/openPDCManager.Properties.Settings/setting[@name = 'ForceLoginDisplay']/value" in the openPDCManager.exe.config is false), and (3) the OPENPDC\amc user is defined in the admin role (i.e. the UserAccount.ID guid for "OPENPDC\amc" is in the ApplicationRoleUserAccount table corresponding with the ApplicationRole.ID guid for "Administrator") - then you should be able to login.

It is important that the openPDC Manager have access to the database - otherwise you will not be able to login - so please verify the connection string is operational for openPDCManager.exe.config.

Can you provide the version number for the openPDC.exe and openPDCManager.exe you have installed? You can find this by right clicking on the EXE's and selecting the Details tab.

Also, when the login box does display - what is the default user name? What user name are using to attempt to login?

We will investigate the issue where the openPDC Manager fails to terminate when it can't login and consume CPU/memory.

Thanks,
Ritchie

Mar 22, 2011 at 9:07 PM
Edited Mar 24, 2011 at 12:02 AM

The machine name is "OpenPDC" and the only login is "amc". I start openPDCManager logged in as "amc", pass-thru authentication is enabled (the flag is "False", and the ApplicationRoleUserAccount table has an "Administrator" row with keys corresponding to the "Administrator" role and the "OPENPDC\amc" account.

Here's what it looks like when I connect to the DB server via Management Studio 

This is from the configuration setup - testing the DB connection string.

Defining User Account Credentials.

Setup proceeds without error.

After configuration, openPDCManager starts up and prompts for a login. This is before I type anything in the dialog box.

This is the connection string in openPDCManager.exe.config:

<add name="ConnectionString"

value="Data Source=&quot;(local)&quot;; Initial Catalog=openPDC; Integrated Security=SSPI"

description="Configuration connection string"

encrypted="False"

/>

I think it works. If I fiddle with it too much, I get this

 

instead of the login screen (e.g., if I remove the parens).

 

Version information:

openPDC.exe: 1.4.90.0

openPDCManager.exe: 1.4.90.0

Mar 23, 2011 at 9:45 PM

So you got this working?

You like some others were using Integrated SQL Server security for the openPDC Windows service. That's fascinating to me since the openPDC Windows service by default logs in as the NT AUTHORITY\SYSTEM user and I would have assumed that user would have no rights to any database - based on that assumption we developed the Configuration Setup Wizard to only allow Integrated Security for the openPDC Manager (which runs as the local user) and to use a user name and password for the openPDC Windows service.

I think we will change the configuration setup wizard to handle this possible scenario. Today I checked in a fix to the code library to ignore duplicate connection string key which should help as well.

Thanks!
Ritchie

Mar 23, 2011 at 11:53 PM
Edited Mar 23, 2011 at 11:57 PM

No, I am still unable to login to openPDCManager. I think the connection string works, because if I change it I get a different error that says "Failed to open database connection". I am unclear as to why I am prompted for a password at all -- if openPDCManager has a valid connection to the database what would it do with the password?

I am also disappointed that Codeplex doesn't support its own image markup but that's a Microsoft issue.

Mar 24, 2011 at 1:39 PM

Since you haven't logged in yest I assume you have no existing configuration so you might be up for an experiment.

We designed the openPDC Windows service to expect a user name and password - the mode of operation you are testing has worked for some, but let's test a mode that's sure to work.

1) Create a database user for your SQL Server (alternately you can just enable the sa account):

  • Connect to your SQL Server instance.
  • Expand the tree view beneath the SQL Server instance.
  • Expand Security and right-click on Logins.
  • In the opening context menu, select New Login....
  • Enter the database user name.
  • Select SQL Server Authentication.
  • Set a password for the selected user.
  • Be sure that no Server Role is selected.
  • Set Database Access for the Database Role called openPDCManagerRole
  • Click OK to save the user changes.

    2) Once your database user exists, re-run the the Configuration Setup Utility creating a new database using the new user

    That mode has alawys worked in our testing.

    PS) Looks like Microsoft must have fixed your image markup issue, I see pretty pictures in this thread today.

  • Mar 25, 2011 at 7:38 PM

    I used a DB user for "User Account Credentials" and was able to log in. I'm doing some research on openPDC so I need to spend some time trying various combinations. I'll give this a try as well. Is this different from using the "Create a new database user" option?

    I fixed the images by editing the raw HTML. "When in doubt, use a bigger hammer".

    Apr 13, 2011 at 1:15 PM
    This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.
    Apr 25, 2011 at 9:25 PM
    This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.