Here are a few ways the UsersController could be refactored to better follow the Interface Segregation Principle:
1. Extract authentication/authorization logic into a separate AuthenticationController concern.
2. Extract user profile/account management logic into an AccountsController.
3. Extract activation/registration logic into a separate RegistrationController.
4. Create separate interfaces/controllers for different user roles like AdminUsersController vs RegularUsersController.
This avoids forcing all user-related actions onto a single controller, allowing each controller to focus on specific user workflows and responsibilities. Clients like regular users and admins would interact with specialized interfaces rather than depending on a monolithic UsersController.