SSO or login integr...
 
Notifications
Clear all

SSO or login integration from DotNetNuke

8 Posts
4 Users
0 Reactions
2,816 Views
Posts: 28
Topic starter
(@roeller)
Eminent Member
Joined: 9 years ago

Hello,

I run a small Hosting Company and want to use SolidCP for customers who have bought a 'hosting package'.  All our customers are in a database (username, password, name,..etc)

The customers login to our website (DotNetNuke) on which they can view there invoices, change address details, submit a ticket, etc.   In DotNetNuke we installed a 'module' which pulls the username/password from the external database when they first login and then put it in it's own DotNetNuke database.  So the 'External Database' is the  SOURCE.  This one is used on a lot of other places too.

Now my question:  Since I don't want to manually add all my customers to SolidCP,. (they might even change their password via SolidCP,. then there is a mismatch between SolidCP and our Database).  Is there a way to login a customer from an External DB?

 

Options:

  • Have a nightly script fill a user table in SolidCP with users from our Database.
  • 'Fake' the users table in SolidCP with a 'database View' which i make.  The view comes from our database.
  • Any other option..?
  • Block or remove the 'change user / change password' page from SolidCP

 

Last but not least:  Is there a way of Single-SignOn (SSO) ?

When a customer is logged in on our website, can he click a link to enter SolidCP without logging in again?

(I can run SolidCP from the same IIS server as our website)

Does this require a manual script/page which created a 'one time password' under the hood and I redirect the customer to a one-time link?

 

Kind regards,

 

Roel Broersma

7 Replies
Posts: 1995
Admin
(@m-tiggelaar)
Noble Member
Joined: 9 years ago

Hello,

SolidCP works quite simple when it comes to users but there's a few "gotcha's"

Each user in SolidCP requires to have a hosting space assigned to manage the specific resources

All info is kept in the Users database table BUT passwords are encrypted with your unique cipher key found in the enterprise web.config

That being said they can be reversed (there's a tool in the source which more or less should help with that).

once you worked that out you can indeed simply sync over the database table without issues.

For login you can login through a POST script with ease (an example for most of what you need is in the whmcs php plugin) i can also look it up how to do it exactly when i am nearby a pc again if needed.

Regards,

Marco

Reply
Posts: 28
Topic starter
(@roeller)
Eminent Member
Joined: 9 years ago

Thanks Marco,   I will looked at the POST script and will document/explain my solution here so anyone can integrate SolidCP in their own Website with Single-Signon.

 

 

I am looking file: https://git.key4ce.com/SolidCP/v2/blob/master/SolidCP.WHMCSModule/modules/servers/SolidCP/SolidCP.php

Is this correct?   I see a Login-link is generated but you still need a password.  or is a session added using these lines:  ?

<code><span id="LC925" class="line"><span class="c1">// Create the SolidCP Enterprise Server Client object instance
</span></span><span id="LC926" class="line"><span class="nv">$scp</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">SolidCP_EnterpriseServer</span><span class="p">(</span><span class="nv">$serverUsername</span><span class="p">,</span> <span class="nv">$serverPassword</span><span class="p">,</span> <span class="nv">$serverHost</span><span class="p">,</span> <span class="nv">$serverPort</span><span class="p">,</span> <span class="nv">$serverSecure</span><span class="p">);

</span></span></code>
~Roel
Reply
Posts: 28
Topic starter
(@roeller)
Eminent Member
Joined: 9 years ago

(oops, something went wrong with Copy, paste)

I mean:

 

Is this correct?   I see a Login-link is generated but you still need a password.  or is a session added using these lines:  ?

[code]

// Create the SolidCP Enterprise Server Client object instance
$scp = new SolidCP_EnterpriseServer($serverUsername, $serverPassword, $serverHost, $serverPort, $serverSecure);

[/code]

Reply
Posts: 1509
Admin
(@trobinson)
Noble Member
Joined: 9 years ago

Hello,

 

From looking at the code it appears to be the server username and password (This is the server admin/reseller login or one of their peer accounts).

 

You can see it creates the URL for the user here: https://git.key4ce.com/SolidCP/v2/blob/master/SolidCP.WHMCSModule/modules/servers/SolidCP/templates/clientarea.tpl

Reply
Page 1 / 2
Share: