私はトークンベースの認証の初心者です。ユーザーを自分のサイトの特定のページに制限したい (認証を確認する) と、jwt がそれを実装する最良の方法であることがわかり、ここのチュートリアルに従いました: https://devdactic.com/restful-api-user-authentication-2 /ですが、ユーザーがページにアクセスするのをどのように制限できますか (ログインするように依頼します)? AuthInterceptor
ここで、著者は、認証部分のチェックを使用したと述べています。しかし、私は認証インターセプターと混同しています。ユーザーを制限する方法を説明できる人はいますか (コードの制限部分はサーバー側またはクライアント側であり、サーバー側の場合は でコード参照を使用できます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 (およびサーバーによって検証される有効な 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 に答える