国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

angulaire.js - Avec la séparation front-end et back-end (front-end et back-end mv*), comment le front-end gère-t-il les exigences d'autorisation (logique d'autorisation) ?
某草草
某草草 2017-05-15 17:03:17
0
1
725

Comment le front-end gère-t-il la logique d'autorisation lorsque le front-end et le back-end sont séparés (front-end et back-end mv*)??
(mv* peut être mvc, mtv ou mvvm, etc.)

Back-end?:

 BooksController
     indexAction()
     showAction($id)
     editAction($id)
         $book = Book::findOrFail($id);
         $user = Auth::user();
         //授權(quán)判斷
         if ($user->hasRole/Permission('edit-book')) {
             //$acl->isAllowed($user, $book, 'edit-book')
             .....
             $book->price = Input::get('price');
             $book->save();
             ......
         }
         .......
         
     createAction()
     deleteAction($id)

Le contr?leur/action back-end et d'autres opérations utilisent généralement des systèmes d'autorisation tels que acl/rbac pour prendre des décisions d'autorisation.

La question est?:
Comment les frameworks front-end mv* comme Emberjs, Angularjs, etc. gèrent-ils la partie autorisation??
Par exemple, les utilisateurs non connectés (utilisateurs navigants) afficheront 10 articles et les utilisateurs connectés afficheront plus de contenu.

Méthode 1) Comme le backend, utiliser un système d'autorisation/une logique d'autorisation distincte pour gérer cela??

Méthode 2) Mettez le résultat du jugement logique d'autorisation dans les données json et renvoyez-le au front-end Le front-end peut-il l'utiliser directement ?

BooksController
    editAction($id){
        ...
        $book = ....;
        $user = Auth::user()/Null//;登陸用戶或沒有登陸的匿名游客用戶;
        // 授權(quán)判斷, 返回1或者0
        $canEdit = $user->hasPermission('edit-book');
                   $acl->isAllowed($user, $book, 'edit-book');   
        return new JsonResponse([
            'book'=>$book,
            'user'=>$user,
            'can_edit'=>$canEdit,
            ........
        ]);
    }

3) En utilisant Emberjs, un framework mvc frontal très similaire au back-end, en particulier lorsqu'il existe un composant ORM complet de classe ember-data, les données/modèles ember front-end doivent-ils être simplement mappé avec le back-end ? Comment les parties authentification et autorisation des problèmes de sécurité sont-elles gérées??

某草草
某草草

répondre à tous(1)
小葫蘆

Les projets avec lesquels j'ai été en contact utilisent "Méthode 2) Mettre les résultats du jugement logique d'autorisation dans les données json, les renvoyer au front-end, et le front-end l'utilise directement ?" les autorisations détenues par l'utilisateur, puis le front-end rend le jugement. Cependant, je pense que la sécurité sera réduite de cette manière si le résultat du retour est falsifié, les autorisations du front-end seront détruites, mais c'est le cas. possible uniquement si la définition de la règle est connue.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal