2014-12-04 59 views
0

登录后,我必须在从应用程序发送的每个请求中传递令牌。登录后在每个请求中传递令牌

目标:我想验证用户在每个请求 - 为了验证我需要在服务器端的令牌。所以我必须在每个请求中发送令牌。用户登录时会生成令牌

步骤1:用户在登录表单中输入详细信息。

第2步:如果匹配通过和用户名我会得到“令牌值”的回应。

Restangular.all('checkuser').post($scope.userdata).then(function(response) { 
    $scope.token = response.data.token; 
}); 

我知道我可以通过

App.config(function(RestangularProvider) { 
    RestangularProvider.setBaseUrl('myBaseUrl'); 
    RestangularProvider.setFullResponse(true); 
    RestangularProvider.setDefaultHeaders({'Content-Type': 'application/json; charset=iso-8859-1'}); 
    RestangularProvider.setDefaultRequestParams({token: 'token value'}) 
    RestangularProvider.setRestangularFields({ 
     id: "id" 
    }); 
}); 

令牌传递,但我不知道我怎样才能在配置块设置“标记值”?

+0

谁和什么时候应该设置'标记值'? – MarcoS 2014-12-04 13:45:05

+0

检查编辑请 – Napster 2014-12-04 13:50:17

+0

我不明白你为什么要调用设置**默认** RequestParams()方法与瞬态令牌... – MarcoS 2014-12-04 14:00:29

回答

0

您还可以使用Restangular服务来设置默认标题。

Restangular.all('checkuser').post($scope.userdata).then(function(response) { 
    $scope.token = response.data.token; 

    Restangular.setDefaultRequestParams({token: $scope.token}); 
}); 
+0

但我想在'.config'块中做。因为通过这种方式,我必须在每一个请求中添加行。你有任何全球解决方案? – Napster 2014-12-12 04:52:19

+0

@Napster:您不需要每次请求时都调用此行。这与RestangularProvider.setDefaultRequestParams相同。我们在用户登录时设置我们的默认标题,而不是在配置块中进行设置。 – dhavalcengg 2014-12-15 07:56:40

+0

你的意思是 - “一旦用户登录,然后设置默认请求参数,这将自动为每个请求设置”? – Napster 2014-12-16 04:48:47

相关问题