角色許可權,RBAC

2021-09-01 01:29:59 字數 2293 閱讀 3056

為了方便本人閱讀,文字格式略有調整。

[flags]

public enum flag:long

特性[flag]告訴編譯器,

當編譯器看到flag列舉時,它會充許你用|(or)操作符組合列舉值,

就像二的整數冪一樣,

例如 flag  administer=flag.view|flag.edit|flag.delete;表示三種許可權的組合。

基礎知識:

當編譯器看到flag列舉時,它會充許你用|(or)操作符組合列舉值,就像二的整數冪一樣,例如

flag administer=flag.view|flag.edit|flag.delete;

//常用操作,檢查是否存在

flag administer=flag.view|flag.edit|flag.delete;

public bool check(flag administer,flag mask)

//呼叫  check(administer,flag.edit)將返回true.

public flag setbit(flag administer,flag mask)

administer |= mask;//操作相當於 administer = administer |mask;

//從列舉中減去一種狀態

administer &=mask;

//如 :

flag administer=flag.view|flag.edit|flag.delete;

//如需要禁止刪除許可權.

administer &=flag.delete;

//另外,標記為flag的列舉型別,可以不設定值

public enum flag:long

在asp.net系統中,httpcontext.current.user實現了乙個介面iprincipal,iprincipal包含了另乙個介面identity

//我們在設計user類的時候繼承此介面

public class user:iprincipal

set

}} // 實現iprincipal介面方法

public iidentity identity

}public bool isinrole(string role)

//怎樣和asp.net掛鉤呢,這裡可以在登陸時做檢查

}//attributeusage 第乙個引數表示該屬性可以應用於類,方法,屬性,**上inherited 檢查繼承的許可權。

//allowmultiple 充許多次應用。

//按下來,設計乙個基類,繼承自page:

public class pagebase : page

}/// /// 檢查函式呼叫許可權

///

/// 方法名

public void checkmethod(string methodname)

}return;

}public void check(flag permissions)

", httputility.urlencode("您沒有許可權訪問該資源"));

response.redirect(url);}}

", httputility.urlencode("您沒有許可權訪問該資源"));

response.redirect(url);}}

protected override void oninit(eventargs e)

}

如何使用:

[checkpermission(2, flag.view)]

public partial class mypage : pagebase

若沒有檢視許可權,會自運導向錯誤頁面。

在類上應用挺方便。

方法上應用我於乙個方法比較麻煩,我還沒有找到在頁面class裡怎麼獲取當前呼叫的類名。

可以呼叫 checkmethod(方法名稱); 如:

[checkpermission(2, flag.delete)]

public partial class mypage : pagebase

}

這還是需要重複勞動。

RBAC角色許可權設計

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...

rbac許可權管理設計 RBAC使用者角色許可權設計方案

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...

RBAC使用者角色許可權設計方案

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...