Fixes #18763 -- Added with_perm to User manager.

Should be ready for a review.
prefer assertRaisesMessage to make sure we get the `ValueError` we expect and not some other one.