angular ui router为请求设置自定义标头

时间:2014-11-07 12:35:38

标签: angularjs angular-ui-router

在我的应用程序中,我使用授权标头,并且在一些用户操作(登录)之后,我想为每个请求设置额外的标头。

 var app = angular.module('app', ['ui.router']);

 app.config(function($stateProvider, $urlRouterProvider) {

     $urlRouterProvider.otherwise("/");

     $stateProvider.state("login", { 
       url: "login",
       templateUrl: "common/login"   
     })
     .state("secured", {
       url: "secured",
       templateUrl: "secured/secured"
     });

 });

当用户输入您的姓名和密码时,在我的应用程序的后端我设置X-Auth-Header并将其返回。

//登录表格的前端控制器

userControllers.controller('userController', ['$scope', '$http', '$state', 
   function($scope, $http, $state) {
      //on button click i send information about user 
      $scope.send = function(user) {

         $http.post('api/login', user).
            success(function() {
               //all ok, i should change state to secured
               $state.go("secured");
            }).
            error(function() {
                //handler errors
            }); 
      }  

}]);

当用户输入成功后我改变$state,我希望发送X-Auth-Header更改状态,是否可以使用ui路由器?

如果用户浏览器更改/#/secured上的网址,如何限制安全区域?

1 个答案:

答案 0 :(得分:0)

我不知道你是否还有同样的问题, 但是http://onehungrymind.com/winning-http-interceptors-angularjs/的那个人解决了我的大部分问题:router-ui没有删除使用经典angularjs'$ http拦截器的选项!我希望这有效