コード例 #1
0
ファイル: MenuRepository.cs プロジェクト: sinpcw/kamonohashi
 /// <summary>
 /// 指定したメニューに共通で割り当てられたロールIDを取得する。
 /// 特定のテナント固有の設定は含まれない。
 /// </summary>
 public IEnumerable <Role> GetAttachedRoles(MenuCode menuCode)
 {
     return(FindModelAll <MenuRoleMap>(map => map.MenuCode == menuCode.ToString()).Include(map => map.Role)
            .Where(map => map.Role.TenantId == null).Select(map => map.Role));
 }
コード例 #2
0
ファイル: RoleRepository.cs プロジェクト: sinpcw/kamonohashi
        /// <summary>
        /// 指定したロールに、指定したメニューへのアクセス権限があるか、確認する
        /// </summary>
        /// <returns></returns>
        public async Task <bool> AuthorizeAsync(long roleId, MenuCode menuCode)
        {
            var roleMaps = await GetMenuRolesMapsAsync();

            return(roleMaps.FirstOrDefault(m => m.RoleId == roleId && m.MenuCode == menuCode.ToString()) != null);
        }