Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Best way to implement custom authenticationBest way to implement custom authentication
Previous
 
Next
New Post
11/3/2007 4:21 PM
 

Hi all,

I am working to integrate a DNN installation with a 3rd party authentication service.  I'm reading up on DNN documentation as fast as I can, but it looks like there are a couple of ways that I can get this done so it would save me some time if I could get a little bit of direction.

The authentication itself is pretty easy:

1) instead of using the DNN login box, the user is redirected to a 3rd party site

2) the user types in login information on the 3rd party site.  That site checks the user/pass, and redirects back to the DNN site with a key passed in the querystring that represents that login attempt.

3) dnn takes the "login attempt key" and does a server http call to the 3rd party site, which either returns with user information (firstname / lastname / etc), or an error indicating that the login attempt failed.

4) dnn creates an account if necessary (or updates an existing login account), and logs in the user under that account.

 

 Which approach makes the most sense:

1) Simply hacking the sourcecode (obviously bad because the site wouldn't be able to be upgraded to new versions of DNN without rebuilding this aspect ... but at least I know i can get it up and running quickly)

2) Use a custom authentication provider  (I see that's new in 4.6 -- but I'm not sure how much of the existing framework I'd be able to leverage since my task is relatively simply, nor how compatible it will be with future versions of DNN)

3) Use modules or some other method... the safest but I don't know if it has hooks into the authentication system that I would need.

Thanks for your thoughts. As I said, I am ramping up on this as fast as possible but I'd welcome any direction.

-Rob

 
New Post
11/7/2007 12:25 PM
 

I'm also interested in doing something similar.

We have a client with an existing website and we are to build a separate site that will handle some content-managed pages as well as some on-line training.

I'm hoping to use DNN for this new site but, as they don't want users to have to log in again to the new site, am struggling a bit with how to handle authentication and enrollment.

Here is what I was thinking.

  1. User comes to our site via a form post which includes encrypted uniqueid and other info encrypted.
  2. If it's the first time we see this user  we add them to the DNN database and then auto-log them on.
  3. If they've been here before we update any info (name change, email change etc) and auto-log them on.

Is a custom authentication provider what I need? Does that also handle the enrollment piece?

Thanks.

 
New Post
11/8/2007 2:55 AM
 

I highly recommend the use of the authentication provider method.  YOu can use the examples for Windows Live and Open ID to give you examples of how to do it!


-Mitchel Sellers
Microsoft MVP, ASPInsider, DNN MVP
CEO/Director of Development - IowaComputerGurus Inc.
LinkedIn Profile

Visit mitchelsellers.com for my mostly DNN Blog and support forum.

Visit IowaComputerGurus.com for free DNN Modules, DNN Performance Tips, DNN Consulting Quotes, and DNN Technical Support Services
 
New Post
11/8/2007 12:14 PM
 

Sounds good.

Now my newbie question is... where's the source code for the OpenID authentication?

I have OpenID authentication enabled and I've started digging around looking for the source code to see how it was put together. The following file says it has a CodeBehind called Login.ascx.cs.

\Website\DesktopModules\AuthenticationServices\OpenID\Login.ascx

But that CodeBehind is nowhere to be found. I also find it interested that it's a c# code-behind.

The user control inherits from DotNetNuke.Authentication.OpenID as well as DotNetNuke.Authentication.OpenID.Login. I assume this is the \Webiste\Bin\Providers \DotNetNuke.Authentication.OpenID.dll  which isn't much help either.

Sorry if these are all newbie questions. Where can I go to actually look at the source code for the OpenID?

Many thanks in advance.

 


 

 To help others here are a few steps I needed to take to get OpenID authentication installed and running...
 

OpenID authentication wasn't installed as part of the default source install of 4.6.2. I went ahead and extracted OpenID_01.00.00_Install.zip from the install zip file and added it to DNN by going to host --> host settings --> authentication settings

First though I had to update the stored procedure dnn_RegisterAssembly due to an error in that procedure as documented here: http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/118/threadid/174266/scope/posts/threadpage/1/Default.aspx

After that you have to set the trust level to Full in web.config.

 

 
New Post
11/8/2007 1:22 PM
 
 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Best way to implement custom authenticationBest way to implement custom authentication


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out