chciałbym ustawić właściwości zakresu $ w obiekcie dostępu użytkownika jakiejś je przełączać włożeniu użytkownika.
Zakładając, że użytkownik jest ładowany, gdy kontroler jest to może być coś tak:
app.controller('SecuredForm', function($scope) {
//get your user from where ever.
var user = getSomeUser();
// set your user permissions
// here's some contrived example.
$scope.permissions = {
showAdmin: user.isRegistered && user.isAdmin,
showBasic: user.isRegistered,
showHelp: !user.isBanned
}
});
w HTML chcesz korzystać z tych przedmiotów zakresie, aby ustawić pokazać lub ukryć obszary:
<div ng-show="permissions.showAdmin">
<h3>Admin Area</h3>
<!-- admin stuff here -->
</div>
<div ng-show="permissions.showBasic">
<h3>Basic Info</h3>
<!-- admin stuff here -->
</div>
<div ng-show="permissions.showHelp">
<h3>Help</h3>
<!-- help stuff here -->
</div>
Należy zwrócić uwagę na to, że ng-show i ng-hide po prostu nie wyświetlają kodu HTML ... HTML nadal znajduje się na kliencie. Dlatego upewnij się, że podczas nawiązywania połączeń z serwerem, które wymagają uprawnień, aby zmienić coś, co sprawdzasz, na serwerze na serwerze. Nie można założyć, że użytkownik ma pozwolenie na zrobienie czegoś tylko dlatego, że formularz był widoczny. (Prawdopodobnie już to wiesz, po prostu chcę być dokładny).
W jaki sposób określasz, który użytkownik uzyskuje dostęp do strony? Podałem ogólną odpowiedź i w razie potrzeby zaktualizuję ją. –