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

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Best way to implement?Best way to implement?
Previous
 
Next
New Post
12/7/2006 5:25 PM
 
 

Hello,

I have a particular use case that I would like to throw out, along with a couple ideas on ways to implement to see what comes up.

I am creating a service which allows users to input data and utilize MS Reporting Services to report/analyze the data. Sounds simple enough, right? The hitch is that I need to add another level of authentication. Roles and permissions are predefined in the application, but the customer will be able to create their own logins and assign role(s) to them.

This would be the extent, however, that each customer would be able to manage their application. Application administrators will not have the ability to add, delete or modify pages within the application or perform any other typical admin tasks.

Option 1

I've seen some modules which basically allow a portal admin to delegate user management to another portal user. With this in mind, I could:

  1. Create child portals for each customer.
  2. With each portal create a new user which has application admin rights (as opposed to portal admin rights)
  3. Create a module which allows application administrators to manage their logins and associated role(s).

The problem with this approach is that each child is an independant entity as far as content goes. I can create a site template, but propogating any future changes would prove difficult at best (there will likely be hundreds, if not thousands, of customers using this application).

Option 2

Create a new table in the DNN database which creates a hierarchy of users. The table has 2 fields ParentId and UserId. Both fields are foriegn keys to the user table itself, but allows a relation ship to be created between users.

With this method, I can utilize the existing security providers and will only need to create a module which allows a "parent" user to manage their "child" users.

Option 1 is nice because it lends itself the most flexibility down the road, but unless I can get a way to keep every child an instance of the parent, then I don't think it's going to work well.

Option 2 seems to be the most straight forward, but I need to try and poke holes through it before committing.

Anyone else have any other options, suggestions, ideas that helps me think outside the box?

Thanks a million.

Kevin

 
New Post
12/8/2006 12:01 PM
 
Bump
 
New Post
12/8/2006 9:39 PM
 

Option 2 seems a little funky.  After you create the relationship, how will you use it? Sounds like you'll need to make a LOT of changes to the core to get this to work for you as well some automation in role processing.

Sounds to me like option 1 is the best.  And you can get the results quickly with Portal SignUp 2.0.  Just create your template or templates, set the role to add your customers to, select the option to allow child portals only and then let your customers do the rest.  Once you have the templates created and Portal Sign-Up configured, it's all hands off.  Your customers just need to fill out the form and click Create. They are then taken to their new portal that was created from your template.



Professional DNN Extensions, custom solutions and mobile apps since 2003.
www.OnyakTech.com
 
New Post
12/10/2006 12:39 AM
 

The relationships are used for several things. They are used to keep logins grouped by account. So if an account becomes disabled, for example, then none of the logins associated with that account will be available.

The data that the application we're creating is also used to compile national benchmarks. We may run into a case where an account has goofed up the inputs, so we'll need a way to rollback the data added by that account.

There's a few other ways, but those are the significant reasons.

As far as core changes, the only change I can see is the login mechanism itself. Where not only is the username/password authenticated, but the associated account is also checked to make sure it's active.

Aside from that I don't think there's anything else we need to change in the core. The applications roles are static, so app administrators won't create new roles (this was considered, but really required a lot of creative hacks...ahem...coding). So when module permissions are checked, the standard role provider is used.

I will take a look at your product, but I have a feeling it's not going to fit this bill. The problem with using child portals is that each portal is an independant entity as far as content goes. The parent site (the application site) must be the same for all users. There will be news, blogs, forums and all the other great things DNN provides which are shared among end users.

Is there a way to share content from a parent site to the child sites? If so, then I will definitely taking a closer look at this option.

Thanks for the suggestions!

Kevin

 
New Post
12/11/2006 1:05 PM
 

With Portal Sign-Up, you can limit the users to use a specific portal template and remove them from having administrative rights.  That will give you the same layout on every site, but it won't copy the content as it changes to each site.   If that is what you need, then it would be overkill to use child sites in regards to processes and data storage.

Why not use roles?  If you used roles and wanted to disable a group, you would just need to change the role security to prevent those in that role from accessing parts of your site.



Professional DNN Extensions, custom solutions and mobile apps since 2003.
www.OnyakTech.com
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Best way to implement?Best way to implement?


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