You may check the SSO or SAML modules in the Appstore. Thay can help you to build what you need. For instance you can Authenticate to MIcrsossoft ADFS within your company and enable the users to login using this system. The module would actually create the profiles in the application just after authentication and you can assign to these profiles also some roles in the backend or even this can be also automated by checking for instance the department. (SAML can provide in its answer some fields from ADFS).