CSLA.NET的驗證和授權規則簡介
驗證規則
當商業物件中的屬性值在使用SetProperty()方法設定之前,都會呼叫 ValidationRules.CheckRules()方法來觸發所有與該屬性相關聯的驗證規則,若有任何違背驗證規則的情形發生,則會傳回 false,並將違規的項目放入BrokenRulesCollection中,而此商業物件成為無效狀態,其屬性值也就無法存入資料庫中。
直到修改屬性值使其符合所有驗證規則,並將BrokenRulesCollection清空時,商業物件才會恢復為有效狀態,其屬性值才可以存入資料庫中,如此才能確保存入資料庫的資料都是符合商業規則的資料,大幅降低存入錯誤規格資料的風險。
將所有驗証規則放入AddBusinessRules()方法中
違反驗証規則會顯示警告訊息
授權規則
授權規則分為物件層級和屬性層級授權規則,物件層級故名思義就是對整個商業物件所有屬性的授權,而屬性層級則是對特定單一屬性的授權。
屬 性層級授權規則是放在AddAuthorizationRules()方法中,而物件層級授權規則是放在 AddObjectAuthorizationRules()中,CSLA.NET 3.X版本與CSLA.NET 4.X版本的寫法有些差異,不只可對商業物件的屬性訂授權規則,也可對商業物件的方法訂授權規則。
物件層級授權規則函式
AllowCreate() 指定允許建立商業物件的角色
AllowGet() 指定允許取得已存在的商業物件的角色
AllowEdit() 指定允許編輯和保存商業物件的角色
AllowDelete() 指定允許刪除商業物件的角色
屬性層級授權規則函式
AllowRead() 指定允許讀取屬性的角色
DenyRead() 指定不允許讀取屬性的角色
AllowWrite() 指定允許寫入屬性的角色
DenyWrite() 指定不允許寫入屬性的角色
AllowExecute() 指定允許執行方法的角色
DenyExecute() 指定不允許執行方法的角色
請先 登入 以發表留言。