Enhance project level ACL

Details

Description

1. User could see all project list before login (login page will list all projects)
2. User only could login to project which he has permission (based on ACL settings)
3. Access will be denied if user try to login to project which they do not have permission
4. User could only switch to project which they have permission after login (gray other options)