ロールベースのアクセス制御は、angularJS用のBlur-Adminテンプレートで実装されていますか?役割を定義する場所どのファイルが関係していますか?AngularJS Blur-Adminテンプレートの役割ベースのアクセス制御
1
A
答えて
1
完璧な解決策!このソリューションは、基本的に、そのコンポーネントに許可される役割へのアクセスを制限します。 baSidebar.service.js、追加、変更
(function() {
'use strict';
angular.module('BlurAdmin.pages.components', [
'BlurAdmin.pages.components.mail',
// 'BlurAdmin.pages.components.timeline',
// 'BlurAdmin.pages.components.tree',
// 'BlurAdmin.pages.components.fileUpload',
])
.config(routeConfig);
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
.state('main.components', {
url: '/components',
template: '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
abstract: true,
title: 'Components',
sidebarMeta: {
icon: 'ion-gear-a',
order: 100,
},
authenticate: true,
params: { // <-- focusing this one
authRoles: ['admin'] // <-- roles allowed for this module
}
});
}
})();
- (例えば) -
は、このようにあなたのメインモジュールの全てに
params
を定義します新しい機能getAuthorizedMenuItems
の直下のgetMenuItems
(わかりやすくするため)そして、defineMenuItemStates()
に単一のパラメータauthRoles
を追加してください。ので、
getAuthorizedMenuItems()
は、次のコードが含まれます -
this.getAuthorizedMenuItems = function(user) {
var states = defineMenuItemStates();
var menuItems = states.filter(function(item) {
return item.level == 0 && _.includes(item.authRoles, user.role);
});
menuItems.forEach(function(item) {
var children = states.filter(function(child) {
return child.level == 1 && child.name.indexOf(item.name) === 0;
});
item.subMenu = children.length ? children : null;
});
return menuItems.concat(staticMenuItems);
};
そして
defineMenuItemStates()
に更新されます -
function defineMenuItemStates() {
return $state.get()
.filter(function(s) {
return s.sidebarMeta;
})
.map(function(s) {
var meta = s.sidebarMeta;
return {
name: s.name,
title: s.title,
level: ((s.name.match(/\./g) || []).length - 1),
order: meta.order,
icon: meta.icon,
stateRef: s.name,
authRoles: s.params ? s.params.authRoles : undefined // <-- added this
};
})
.sort(function(a, b) {
return (a.level - b.level) * 100 + a.order - b.order;
});
}
今、新しく追加されたメソッドを使用する時間ですが
getAuthorizedMenuItems
をBaSidebarCtrl.js。このようにそれを使用する - それ
var userCreds = {
userName: '[email protected]',
passWord: 'testpwd',
role: 'admin'
};
だ -
// FYI, I got userCreds in BaSidebarCtrl as following -
var userCreds = localStorage.getObject('dataUser');
// note that getMenuItems is just replaced with getAuthorizedMenuItems(userCreds)
// $scope.menuItems = baSidebarService.getMenuItems();
$scope.menuItems = baSidebarService.getAuthorizedMenuItems(userCreds);
だから、あなたの
user object
は次のようになります!
関連する問題
- 1. のYiiフレームワーク:役割ベースのアクセス制御
- 2. MobileFirst 7.1 - 役割ベースのアクセス制御
- 3. symfonyの役割によるアクセス制御
- 4. MS Accessで使用されている役割ベースのアクセス制御
- 5. grailsのアクセス制御、役割とアクセス許可
- 6. 角度4ルーティング - 役割ベースのアクセス
- 7. Bigtableの行ベースのアクセス制御パターン
- 8. angularJs内のビューへのアクセスの制御
- 9. 役割ベースのイントラネット検索
- 10. 役割ベースのセキュリティは
- 11. 役割ベースのメニューは
- 12. ビル役割ベースのアプリケーション
- 13. URLにアクセスするAngularjsとアクセス制御元のヘッダー
- 14. 春の式ベースのアクセス制御の使い方は?
- 15. Laravelの行ベースのアクセス制御の結果
- 16. Spring:ログイン後の役割ベースのリダイレクト
- 17. JWTの役割ベースの認証
- 18. Capistrano 3の役割ベースのリンクファイル
- 19. 春の役割ベースの認可VS ACL?
- 20. 役割ベースのAzureのWebとデータベース
- 21. IONICの役割ベースのログイン認証
- 22. Cgitのアクセス制御
- 23. Nexusのアクセス制御
- 24. Postgresqlのアクセス制御
- 25. Redisのアクセス制御
- 26. スケーラブルな役割ベースの認証
- 27. 動的役割ベースのルーティング(React-Router)
- 28. アクセス制御の設定ロジックARMテンプレート経由のアプリケーション
- 29. cloudformationテンプレート続きIAM役割
- 30. Codeigniterのユーザー役割とアクセス