日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

11.16 如何驗證當前用戶是否具有指定的功能權限

系統 2158 0

權限驗證包含認證與授權兩部分,用戶登錄屬于認證的問題,驗證當前用戶是否具有指定功能的權限屬于授權的問題, IBeamMDAA 已集成了這兩部分的功能,我們只需在適當的時候使用即可。

?????? 權限驗證與業(yè)務對象緊密聯系,不能單獨談論,比如:產品信息的管理可能有:查詢、增加、編輯、刪除等功能,應對當前用戶是否有權限操作產品實例作出決斷,代碼如下:

btnAdd.Enabled = _ProductsCategory != null && !_ProductsCategory.IsNew && _ProductsList != null && Products .CanAdd();

btnDelete.Enabled = _Products != null && _Products.CanDelete();

nameDataGridViewTextBoxColumn.ReadOnly = _Products == null || !_Products.CanEdit();

?

另外,添加、編輯、查詢 這三種操作對于權限驗證其實是一種權限,原因為:有添加 產品的權限,按邏輯推理應該具有 編輯 產品的權限,而要編輯某一產品之前,首先要通過查詢后找到產品才能編輯,查詢是編輯的必要條件,因此,歸為一種功能權限,刪除同編輯同理,首先也必須先查詢到對象,因此在實際的系統設計中,不對查詢做特別的功能定義,道理就是這樣。

?????? 在設計并注冊功能時應結合業(yè)務邏輯的實際需要設置,不是教條的設置:查詢、添加、編輯、刪除、擴展 1 、擴展 2 、擴展 3 等,這種做法在 IBeamMDAA 中是嚴格禁止的。

?

下面我們看一看產品的這些方法的定義:

public static bool CanAdd()

?? {

????? return Csla. ApplicationContext .User.IsAllowed( ACPLID .FunAddProducts);

?? }

public bool CanEdit()

??? {

??????? if ( this .IsNew || this .IsDirty)

??????? { // 與業(yè)務對象當前狀態(tài)相關的判斷,當前對象正被用戶修改

?????????? return true ;

??????? }

??????? if (HasOrderItem || HasInventoryItem || HasPickListItem || HasInventoryCheckItem)

??????? { // 與業(yè)務邏輯相關的判斷

?????????? return false ;

??????? }

??????? return Csla. ApplicationContext .User.IsAllowed( ACPLID .FunAddProducts);

??? }

public bool CanDelete()

?? ?{

?????? if ( this .IsNew)

?????? { // 與業(yè)務對象當前狀態(tài)相關的判斷

????????? return true ;

?????? }

?????? if (HasOrderItem || HasPickListItem || HasInventoryItem || HasInventoryCheckItem)

?????? { // 與業(yè)務邏輯相關的判斷

????????? return false ;

?????? }

?????? if (!Csla. ApplicationContext .User.IsAllowed( ACPLID .FunDeleteProducts))

?????? {

????????? return false ;

?????? }

????????????? // 在服務器上判斷,為提高性能、減少服務器調用往返將這部分代碼注釋

?????? //CanDeleteCommand result = DataPortal.Execute<CanDeleteCommand>(new CanDeleteCommand(this));

?????? //return result.Success;

?????? return true ;

??? }

11.16 如何驗證當前用戶是否具有指定的功能權限?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 莱州市| 金坛市| 尼勒克县| 海口市| 泸州市| 简阳市| 富源县| 博罗县| 丹棱县| 西华县| 漠河县| 旬阳县| 晋城| 崇文区| 朔州市| 遵义市| 连平县| 炎陵县| 吉林省| 靖州| 平罗县| 宜章县| 迁安市| 米易县| 塘沽区| 临洮县| 和平区| 丽江市| 大名县| 浦江县| 汕尾市| 蓬莱市| 屯留县| 陕西省| 青岛市| 三原县| 广丰县| 延寿县| 曲麻莱县| 神池县| 天门市|