Developer forum

Forum » CMS - Standard features » Users with access to two or more Customer accounts in DW9

Users with access to two or more Customer accounts in DW9

Adrian Juell
Reply

Hi, 

Whats the best way to manage a group of users that need to have access to two or more customers in DW9?

The idea is that users should be invited via Frontend, and receive an email to confirm their mail adress and set a password.
The user is then stored as a "Web user" with connection to the customer whom sent the invite.

However, as the a user may already exist, with connection to a different customer account than the one the user is being invited to, we get duplication errors (User name / email etc. already exist).

Is there any easy way to get around this?


Replies

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi Adrian,

 

We've been solving for this, but not in an elegant way, so I can't give you our exact code. It also comes with some complexity on the simpler scenarios.

 

 

It's a long story to explain, but here's what we believe the end-result could be on those cases:

  • There's a user (aka Login) with username = "adrian.juell@domain.com"
  • The user can impersonate one of more users (aka Accounts), for example
    • "adrian.juell@customer1.com" OR "Customer00321@customer1"
    • "adrian.juell@customer2.com" OR "Customer00697@customer2"
    • ...
  • You only login with user "adrian.juell@domain.com"
    • But then you must manage/impersonate one of your Accounts (specific to those customers)

 

Once setup, it's simple enough to develop the customization in Invite User to create a new "Account" on the customer and set the impersonation.

The problem is refactoring the data when you start with a single Account to 2 Accounts to manage (when you need to create the Login, move the password to it), so that the older User ID (tied to the first user) keeps all if it's stats, favorites, saved cards and whatnot. The user will also have to know they will have a brand new UX the next time they login. Because now you "should" enforce them to pick an account to manage.

 

OR you make this whole thing simpler and tell them this is not possible and they must have 1 unique email per customer. It's how thousands of other platforms do it. Sure keeps complexity and costs down, but I also know that allowing this to happen is perceived as a differentiating factor by some customers.

 

Let me know if I can help more,

Nuno

 
Adrian Juell
Reply

Thank you for the quick response! 

Based on your description it seems like the best decission would be to move away from allowing users with the same email on the same customer accounts.

I'm a bit surprised though that DW does not support hierarchy / inheritance of this type of access. Is there really no way of providing access via Backend or similar?
Giving User A access to Customer 1,2, and 3 for instance?

The goal would be , as you touch upon, to give User A the possibility to both place orders, view favourites etc. for all Customers when logging in - without having to jump between accounts or using impersonation.

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply
This post has been marked as an answer

Hi Adrian,

 

You can do that, but there are some considerations. I'll try to explain in simple terms

  • From the technical and privacy point of view you need a "user" for each customer
    • Because you may not want to share favorites
    • You want to be able to track statistics separately and appropriately
    • More often than not, you don't want to share credit cards, newsletter preferences and other things that would be specific to that customer
       
  • You can then have a "super user" that impersonates your 2 accounts https://doc.dynamicweb.com/documentation-9/users/user-management/impersonation
    • That is similar to the concept of have a Support Desk person that can impersonate any account to help the customer
    • In this case your "super user" can only impersonate his/her Accounts for that specific Customer
      • When you manage your Account 1 (for Customer 1), you see Customer 1's order, you see your favorites for that account, you see your preferences for that account, ...
      • When you manage your Account 2 (for Customer 2), you see Customer 2's order, you see your favorites for that account, you see your preferences for that account, ...

 

Does that make sense? I feel it's hard to explain this in words, and I don't have a nice diagram and example site that I could show you right now. But if you were to see this in parts, I would say, start with having separate Accounts/usernames for each customer. That will be needed and not change.

 

Best Regards,

Nuno

Votes for this answer: 1
 
Adrian Juell
Reply

Thank you for all your input on this topic @Nuno! 

 

You must be logged in to post in the forum