Last post Jul 15, 2005 11:38 PM by mcsenow
Jul 15, 2005 06:19 AM|shane2005|LINK
I am fairly new to DNN module developement and wonderring would it be possible to create a custome module for user authentication process? Basically I am working on an Intranet project, and its authentication process is slightly different from the stardard
DNN user login. So would I be able to create a customized user login modle to "override" the core module in DNN?
Jul 15, 2005 09:24 AM|codegalaxy|LINK
Shane it possible - you might want to look at creating a custom membership provider like I am working on
see this thread http://forums.asp.net/987843/ShowPost.aspx
Jul 15, 2005 11:38 PM|mcsenow|LINK
At my shop, we have a single sign on (SSO) authentication db for all intranet apps. To have DNN using the exisiting SSO db, we created a custom login module that consists of two screens: login and change password. We cloned the code from the CORE <dotnetnuke>\admin\security
Signin.ascx and Register.ascx and injected our code to
1. Sync our SSO user account with DNN db. When login, if authenticated in our SSO and account does not existed in DNN, create the account in DNN using user attributes from SSO db. If authenticated and account exisited in DNN, update the account in DNN with
user attributes (ex. email, phone) in our SSO. We used existing code in the core to create or updae DNN account.
2. Sync the password. If user changes password in DNN, call our code to update the password in our SSO db.
In DNN admin->site settings/advanced setting/page management, we changed the login and register screen to point to our custom login tab.
Lesson learned - When we first started, we spent a lot of time to investigate the Membership/Role api and started to overide a few functions in the microsoft membership provider api. Then we learned that we must do lazy sync between our custom membership db
and the DNN satelite tables (read <dotnetnuke>\Documentation\Public\Membership\DotNetNuke Membership.doc for detail discussion) or else some of the DNN fucntions will not work. Something to factor in ...