По поводу авторизации - посмотрите passportjs, роли можно реализовывать самостоятельно или с помощью готового middleware (например connect-roles). А возможно вам вообще подойдет фреймворк, где это все реализовано либо из коробки либо модулями - sailsjs.