abp的权限与导航菜单的关系
原來以為各是各的,所以就有了第一個版本.Getallmentus.然后注入了role,當然失敗了.獲取所有的菜單.一直在思考在什么地方設置菜單是否展示呢?
后面看了源碼.才發(fā)現(xiàn)自己錯了.
UserNavigationManager(這個是一個框架內(nèi)部調(diào)用的類)會獲取當前userid的所有的菜單,
數(shù)據(jù)源跟菜單的RequiredPermissionName有關(guān)系.
改數(shù)據(jù)庫中的數(shù)據(jù).刷新前臺,沒有反應.找了半天才知道,是用的eventbus來觸發(fā)刪除當前緩存數(shù)據(jù)的.eventbus是自動注冊(未去找自動注冊的實現(xiàn).)
如下的設計:
AbpUserPermissionCacheItemInvalidator:
IEventHandler<EntityChangedEventData<UserPermissionSetting>>,
IEventHandler<EntityChangedEventData<UserRole>>,
IEventHandler<EntityDeletedEventData<AbpUserBase>>,
ITransientDependency
?
所以只能通過UI去操作才有效果.
?
關(guān)于動態(tài)的menu,INavigationManager 只能用它來另外處理.建議結(jié)構(gòu)不變.只變名稱和路徑是可以的.
?
也就是說,不能簡單的通過數(shù)據(jù)庫去改數(shù)據(jù)庫,必須通過程序..
?
轉(zhuǎn)載于:https://www.cnblogs.com/forhell/p/7445768.html
總結(jié)
以上是生活随笔為你收集整理的abp的权限与导航菜单的关系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces 731C Sock
- 下一篇: 藏经阁