Если ваше приложение предполагает авторизацию пользователей и/или проверку прав доступа, то вам придется либо изобретать велосипед, либо гуглить в поисках подходящего решения. В принципе, я тоже это делал. В итоге я принял приемлемым для себя описанный ниже вариант.
Предпосылки
Информацию об авторизованном пользователе я решил хранить в sessionStorage, копируя её при запуске приложения в $rootScope
. Также по рекомендации авторов UI Router я храню в $rootScope значения объекты $state
и $stateParam
, для удобного доступа. Информацию же о доступе к тому или иному состоянию можно передавать через блок data
при описании самого состояния. Поскольку в моем приложении везде закрыт доступ, я решил идти от обратного и добавлять значение noLogin = true
для состояний, которые не требуют авторизации, например страницы ввода логина, восстановления пароля или регистрации.
Читать полностью »