Ich habe alle meine Routen in einer .ts-Datei, und meine main.ts kommt zur ersten Route, die sich in dieser Routes-Datei anmeldet. wo ich das linke Menü nicht laden möchte, und nach der Autorisierung werde ich entweder Kunde oder Support-Mitglied routen. Dort müssen meine Routen im linken Menü entsprechend der angegebenen Rolle ausgefüllt werden. Wie implementiert man sein Szenario?So implementieren Sie rollenbasiertes Aurelia-Routing
Antwort
Navigation in Aurelia basiert auf einer Reihe von Javascript-Objekten, die Sie an die Router-Konfiguration übergeben. Es gibt nichts, was es nicht erlaubt, diese Objekte zu erweitern, um zusätzliche Informationen zu Rollen zu enthalten. Sie sollten also in der Lage sein, ein Rollenfeld hinzuzufügen.
{
route: ['', 'todo/list'],
name: 'ToDoList',
moduleId: './to-do/list',
nav: true,
title: 'To Do List',
authRoute: true,
role: 'TaskAdmin'
}
Wenn Sie dann Ihre Vorlage für die Navigation erstellen, möchten Sie diese basierend auf der Rolle und dem Navigationselement anzeigen.
<li repeat.for="navItem of router.navigation" class="${showNav(navItem) ? 'showNav' : 'hideNav'}">
<a href.bind="row.href">${row.title}</a>
<li>
Die Funktion, die in der entsprechenden js-Code-Datei enthalten sein muss:
showNav(navItem) {
return localStorage.getItem("role") === navItem.role;
}
Es gibt mehr Möglichkeiten, die Authentifizierung einzurichten, die auch die Möglichkeit, eigene bauen umfasst, aber ich werde zeigen Sie auf ein paar.
Ich habe einen (nicht-ts) Kern einer einfachen rollenbasierte Navigation, durch die Saqib Antwort inspiriert.
Vielleicht hilft es jemand: aurelia role-based routing
- 1. So implementieren Sie IAsyncOperationWithProgress
- 2. So implementieren Sie das Ereignis
- 3. So implementieren Sie if-else
- 4. DDD - So implementieren Sie Fabriken
- 5. So implementieren Sie Excel ACCRINT
- 6. So implementieren Sie threadsichere Warteschlangen
- 7. So implementieren Sie Braintree Escrow
- 8. So implementieren Sie HTTP-Tunneling
- 9. So implementieren Sie SAML SSO
- 10. So implementieren Sie Suche wie Stack Overflow
- 11. So implementieren Sie GROWTH-Funktion in JavaScript
- 12. So implementieren Sie "Live" -Filterung in Silverlight
- 13. So implementieren Sie manuell JPA-Beziehung OneToMany
- 14. So implementieren Sie Bereiche in D
- 15. So implementieren Sie die Lokalisierung in web.sitemap
- 16. So implementieren Sie eine zustandslose REST-API
- 17. So implementieren Sie CMStepCounter CoreMotion - M7 Chip
- 18. So implementieren Sie die Datenbankzugriffssteuerung auf Zeilenbasis
- 19. So implementieren Sie jtable mit variabler Zeilenhöhe
- 20. So implementieren Sie die indizierte Standardeigenschaft []
- 21. So implementieren Sie einen nicht binären Baum
- 22. So implementieren Sie den horizontalen Rasterlayoutmanager
- 23. So implementieren Sie temporäre Daten in MySQL
- 24. So implementieren Sie die Einzelauswahl in RecyclerView?
- 25. So implementieren Sie Socialite in Laravel 5.1
- 26. So implementieren Sie die Ablaufverfolgung in .net
- 27. So implementieren Sie die Bestellungsanalyse in MATLAB
- 28. So implementieren Sie die Volltext-Volltext-Suchmaschine
- 29. So implementieren Sie "tar uf" in node.js
- 30. So implementieren Sie ACL in Postgresql