Active Directory and usability

Jan 16, 2009 at 9:12 PM
Hi,

This project it seems great, but I think that the AD membership is not a good aproach for a web usage scenario. For an intranet is ok. In fact the mebership must be optional.

Laurentiu
Coordinator
Jan 17, 2009 at 5:57 AM
Hi Laurentiu,

Nexus was designed to tie in with AD membership so that NUS students do not need to remember another set of userid/passwords to login to this portal. Login is mandatory because our version loads NUS specific content to their space, and these content is personalized based on their userids.

That said, Nexus uses the built in asp.net membership, user and roles classes, and i've used my own membership class. You can easily change back to the default membership classes to use normal forms based authentication with the userids and password stored in the SQL database. ASP.NET also has an anonymous setting which you can use to configure anonymous logins which will meet your requirement of having membership being optional.

On a side note, because asp.net is so flexible, it is entirely possible to have a single login form which allows you to perform AD Authentication, Microsoft Passport authentication and SQL based authentication all in one shot, you just need to write the appropriate membership classes

Regards,
Jeffery
Jan 17, 2009 at 3:23 PM
Thank you for your feedback,

Your membership classes are in Backend Tier's BusinessLayer or in web application? As I don't know yet your application architecture, I will please you to help me how to remove/disable your membership engine implementaion.
After this, my approach is to use a machine related GUID as a temporary ID for membership for storing user preferences just to when he decide to register with application. (I see the potential of this app as a Google IG, or Page Flakes replica, so as an web app not an intranet app).

Btw, for what is intended \sso virtual folder?

Regards,

Laurentiu
Jan 17, 2009 at 4:33 PM
OK, I figured out to bypass the membership check (providing a fake user for redirection), but I don't know how to populate the database and it seems to me that the page needs to be initialised relatd to a first user. (also id don't have a default initial tab).
Coordinator
Jan 19, 2009 at 4:52 AM
Hi,

Actually you just need to edit web.config and remove the
        <add name="NexusMemberShipProvider" type="NexusMemberShipProvider" connectionStringName="DashboardConnectionString" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" applicationName="Nexus" requiresUniqueEmail="false" passwordFormat="Clear" minRequiredPasswordLength="1" passwordStrengthRegularExpression="" minRequiredNonalphanumericCharacters="0" />

and change it to the default membership provider.

The provider code is actually found inside app_code/providers

The code which creates the user is done using Membership.CreateUser

Initialization of tabs and widgets can be found from line 54 to 194

First portion is the load initialize xml portion, what happens is, based on the domain that the user belongs to, it goes to /template and loads the appropriate xml file. this xml file contains the information for the tabs and widgets that will be populated.

Once that is done, line 77 to 197 creates the tabs and add in the widgets to the database. finally it will check for shared tabs for the user and updates the records accordingly.