My case is the following: In our company's Drupal "intranet", we need to manage prospective and actual Human Resources, and there's three kinds of them:

1) Candidates: HR people collect CVs and make their assessment after the interview. They want to store those information within an entity for future reference, without creating a User, obviously. On the other hand, when the person is hired, the user is created and it would be handy to link their existing profile

2) Real users: employees with an account on the intranet, with their user account accessible to them, and an HR profile managed by the HR

3) Employees without access: employee without web access, which only have an HR profile, but still need to be listed in orgcharts, have a job title, record training events and so on.

In short, everyone has an "identity", or "profile", but only a subset of them have a proper user account.

Any suggestions about how to go around it, or if there's a module out there for this? I have looked into Profile2 and Identity (RNG) but they do not seem cover my use case.

  • "In short, everyone has an "identity", or "profile", but only a subset of them have a proper user account." - why? It's an arbitrary decision I don't understand. Why not to create user account for everyone, and then simply only allow some to log in?
    – Mołot
    Aug 13, 2015 at 9:49

2 Answers 2


I have a solution for you:

You can create a role "candidate" and by default create all users of role candidate as blocked.. so they would never be able to access their account. and Then once they are hired/employed then depending on that condition you can trigger a rule which will change their role and status to ACTIVE. That will probably solve your problem.


Use "Decoupled User Authentication" (https://www.drupal.org/project/decoupled_auth) to treat everyone as users, even if they don't yet have login credentials. This way you have one consistent entity type you're working with all through the different stages of a candidates journey.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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