It appears that if you use the bpreset command, it locks all of the BP's and then log back in, all BP's are unlocked again. 

The way I allow users to do this is through the CustomChatCommands plugin. I give them permission to use the three unlock commands and I set another command to lock them. See the below code:

    {
      "Command": "unlocktier1",
      "Messages": [
        "You have unlocked all Tier 1 blueprints!"
      ],
      "Permission": "customchatcommands.bpmt1",
      "ConsoleCmd": null,
      "UserID": 0,
      "Broadcast": false,
      "RconCmd": ["c.grant user {player.id} blueprintmanager.WorkbenchLvL1","c.grant user {player.id} blueprintmanager.WorkbenchLvL0"],
      "Cooldown": 0.0,
      "MaxUses": 0
    },
    {
      "Command": "unlocktier2",
      "Messages": [
        "You have unlocked all Tier 2 blueprints!"
      ],
      "Permission": "customchatcommands.bpmt2",
      "ConsoleCmd": null,
      "UserID": 0,
      "Broadcast": false,
      "RconCmd": ["c.grant user {player.id} blueprintmanager.WorkbenchLvL2"],
      "Cooldown": 0.0,
      "MaxUses": 0
    },
    {
      "Command": "unlocktier3",
      "Messages": [
        "You have unlocked all Tier 3 blueprints!"
      ],
      "Permission": "customchatcommands.bpmt3",
      "ConsoleCmd": null,
      "UserID": 0,
      "Broadcast": false,
      "RconCmd": ["c.grant user {player.id} blueprintmanager.WorkbenchLvL3"],
      "Cooldown": 0.0,
      "MaxUses": 0
    },
    {
      "Command": "lockbp",
      "Messages": [
        "You have locked all of your BP's!"
      ],
      "Permission": "customchatcommands.lockbp",
      "ConsoleCmd": null,
      "UserID": 0,
      "Broadcast": false,
      "RconCmd": ["bpreset {player.id}"],
      "Cooldown": 0.0,
      "MaxUses": 0
    },