天天看點

LightSwitch中的權限

在LightSwitch中,驗證方式分為三種:Windows驗證,Form驗證,和無驗證三種方式,如如果産用前兩種驗證方式時,就要需要為不同的使用者設定不同的權限。

       在LightSwitch中,權限設定方式是簡單且靈活的,并且這種權限都細化到了具體的LightSwitch 對象中,這些對象是:資料源,查詢,界面,自定義方法

對于資料源,LightSwitch提供了兩組方法來控件權限,一組為Delete,Insert,Update,Read,Execute,即對資料源的增删改查,和對資料源的送出(這個對應Entity Framework中的實體集合的SavaChanges方法),另外一組是對實體的All_Execute,Single_Execute,和SingleOrDefault_Execute。

        查詢隻有一個CanExecute方法來總體限制查詢是否執行。

       界面也隻有一個CanRun方法來總體限制界面是否啟動。

       自定義方法也隻有一個CanExecute方法來限制該方法是否執行。

        在整體項目屬性面闆中,有一個Application Control頁籤,這個選項目提供了我們整個項目的驗證方式,和權限設定。在“Define permissions or select permissions to use for debugging”添加自定義的權限名稱,這裡隻是一個權限的名字,當然要和你想要設定的要限在意義上對應起來,因為這裡的名字,将生成權限類的一個常量,并且這個常量可以在LightSwitch自帶的權限管理系統的角色添權重限時顯示出來,這樣一來,隻要在上面LightSwitch的Can***的方法中驗證使用者有沒有這個權限就可以了,代碼如下:

    result = this.Application.User.HasPermission(Permissions.實體一權限 );

<a href="http://blog.51cto.com/attachment/201108/144756524.png" target="_blank"></a>

       使用者是某種角色,角色具有某些權限,使用者去操作功能時,觸發Can***方法,這個方法驗證該使用者有沒有該方法的權限。

本文轉自桂素偉51CTO部落格,原文連結:http://blog.51cto.com/axzxs/649350 ,如需轉載請自行聯系原作者

繼續閱讀