For what purpose do you want to "assign users"?
Should this be to grant permissions, then you could use that anonymous users have the role
Anonymous. Granting a permission to this roles means that anonymous users have this permission.
Some permissions are controlled by a workflow; i.e. workflow actions can change their grants. You may need to change the workflow definition to control the permission to role mapping. In case, you want to control those permissions locally, there is
Products.CMFPlacefulWorkflow. Other permissions can be controlled via
manageAccess (a ZMI action, typically hidden to avoid unreliable modification of workflow controlled permissions).