Topic: User roles, authorisation, on specific projects


Currently I am working on a app, so far I have User (with devise) which are able to create projects. So, if  user1 creates project A and project B I want him, to be able to assign user2 with role admin on project A, and user2 with moderator role on project B.
I was thinking in creating a UserRoleProject link table, is it a good idea? Also I intend to use CanCan for the authorisation, can I take advantage of CanCan if I will have that link table?

Thank you