我是基于令牌的身份验证的新手。我想将用户限制在我网站上的特定页面(检查他的身份验证),并看到 jwt 是实现它的最佳方式并遵循此处的教程:https ://devdactic.com/restful-api-user-authentication-2 /,但我怎么能限制用户访问页面(要求他登录)?在这里,作者说他使用AuthInterceptor
了 which 检查身份验证部分。但我对身份验证拦截器感到困惑。任何人都可以解释我们如何限制用户(例如代码的限制部分是服务器端还是客户端,如果是服务器端,我可以在其中提供代码参考node.js
)吗?
问问题
385 次
1 回答
1
我在每次请求来自服务器的数据时附加一个 JWT。代码如下所示:
return {
request: function(config) {
var jwt;
if(isApiRequest(config.url)) {
config.url = baseUrl + '/api/v1/' + config.url;
jwt = store.get(JWT);
if(jwt)
config.headers.Authorization = "Bearer "+jwt;
}
return config;
}
};
但是,您要做的是确定用户是否有 JWT(以及一个有效的 - 将由服务器验证),如果有,他们可以访问某些页面。
我想说这可以通过监视$stateChange
事件来完成:
$rootScope.$on('$stateChangeStart', function(evt, toState, toParams, fromState, fromParams) {
var jwt = store.get('JWT');
if(!jwt)
$state.go('go-back-to-login-view');
});
于 2016-06-03T09:40:23.220 回答