2

I want to transfer users from our QA environment to the PROD environment on Sitecore.NET 8.2 (rev. 170728).

It is totally fine if the users are deactivated and have a random password set. Unfortunately it seems like I cannot import any user since the default or empty password does not meet the password policy requirements. How can I import the users?

I do have access to the serialization files, so I can edit them if that helps. On other environments, I temporarily changed the config, but I cannot do that on PROD.

  • 1
    Have you tried using packages? When you use serialization, password is always set to b, with packages, random password is generated. Maybe try to set password policy requirements on QA first and then generate package with users? – Marek Musielak Nov 21 '18 at 7:54
  • Same applies to Packages, none of the users are imported. Is there a Setting of how random passwords are generated? – Markus Nov 21 '18 at 7:59
  • 2
    kb.sitecore.net/articles/242631 did you try this solution ? – Vlad Iobagiu Nov 21 '18 at 8:11
  • I have not. Since the users are not imported at all, I probably won't be able to sync the passwords. Anyway, I don't want to transfer users on DB Level since this is exactly what the user migration is supposed to do... at least that's what I think :-) – Markus Nov 21 '18 at 8:20
2

There is a config settings you can use called SerializationPassword.

Just use a config patch file with

<settings>
    <setting name="SerializationPassword" value="Secret!@#" />
</settings>

and deserialize your serialized users after.

Sitecore will set all your new users' passwords to Secret!@# (or whatever value you want) instead of default b which is used when the setting is not present.

You can deserialize you users in PROD and then change they passwords to whatever you want manually.

  • 1
    That sounds exactly like what I need! I will let you know if it worked. – Markus Nov 21 '18 at 9:58
  • It works, I can use Powershell to serialize & deserialize the users now. Thanks! One issue I had was that my SQL Server went down when I used a randomly generated strong password. The setting might be insufficiently escaped, so be careful. It might also be an unrelated issue on my DEV machine though. – Markus Nov 21 '18 at 10:48
  • Sitecore uses Membership.CreateUser(userName, password); by default. I don't see any reason why it could cause your SQL Server to go down even with the most sophisticated password. I suppose it was not related to deserialization of your users. – Marek Musielak Nov 21 '18 at 10:53
0

Sitecore membership is based on ASP.Net membership. It means that you can use same approach for moving users from one DB to another. It is low-level actions with data that could give you better understanding how users/roles information is managed in Sitecore.

  1. Open Microsoft SQL Server Management Studio
  2. Connect to SQL server with Sitecore Core QA database
  3. Click right mouse button on Sitecore Core QA database, select "Generate scripts..." from context menu
  4. Select all tables, where name starts with "aspnet_" on first page of wizard
  5. Click "Advanced" button on second page of wizard. Select "Types of data to script":"Data only", "Script DROP and CREATE":"Script DROP and CREATE"
  6. Generate script
  7. Backup Sitecore Core Production Database
  8. Run script generated from Core QA database on Core Production database
  • I know that I can transfer users on a DB level, but that is not what I want to do. – Markus Nov 21 '18 at 8:21
0

One addition to Mareks answer:

Unfortunately the logic for passwords in package deserialization is completely different. It uses a class called PasswordGenerator, which is initialized with the following parameters:

MinimumCharacters = 6;
MaximumCharacters = 8;
ConsecutiveCharacters = false;
RepeatCharacters = true;
ExcludeSymbols = true;

So if your password policy requires longer passwords or symbols, this functionality is pretty much unusable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.