Включить опцию редактирования, только если пользователь аутентифицирован, иначе информация отображается нормально

#angularjs

#angularjs

Вопрос:

Итак, я все еще новичок в Angularjs, но мне интересно, можно ли показывать определенные вещи, если пользователь не аутентифицирован при полном доступе, если пользователь аутентифицируется без дублирования шаблона? Решение, о котором я мог подумать, — это использование ng-show и ng-hide, где определенные функции будут отображаться, если isAuthenticated значение true. Есть ли лучший способ сделать это?

Комментарии:

1. Посмотрите на этот проект https://github.com/fnakstad/angular-client-side-auth . Он должен показать вам всевозможные хитрые трюки.

2. Это здорово, но я не использую Nodejs для серверной части, и, судя по комментариям, они успешно реализовали это, используя другие серверные языки. Но все равно спасибо!

3. Вот еще один подход: http://vyazici.blogspot.com/2012/09/angularjs-authentication-service.html

Ответ №1:

Я бы использовал ng-if, потому что это полностью удаляет DOM, а не просто скрывает его.

Вы можете использовать функцию разрешения в маршрутизации, чтобы определить, прошел ли пользователь аутентификацию и авторизацию перед загрузкой страницы, чтобы они не увидели, что опция редактирования мигает и исчезает.

Помните, что, поскольку это javascript, пользователь всегда может изменить код, чтобы разрешить отображение редактирования. Убедитесь, что на стороне сервера редактирование заблокировано, если пользователь не авторизован для этого.