.net 運(yùn)用二進(jìn)制位運(yùn)算進(jìn)行數(shù)據(jù)庫(kù)權(quán)限管理
權(quán)限分為增、刪、改、查,數(shù)據(jù)庫(kù)插入擁有權(quán)限的數(shù)值的和。比如擁有增加和修改功能,就是:Permissions.Add+Permissions.Mod,結(jié)果值為:5。
那么判斷是否有此權(quán)限時(shí),就可以調(diào)用IsPermission(value, per)方法。假設(shè)結(jié)果值為:5,那么如果“添加權(quán)限”調(diào)用就是:IsPermission(5, Permissions.Add),
返回結(jié)果為true;如果“刪除權(quán)限”調(diào)用就是:IsPermission(5, Permissions.Del),返回結(jié)果為false。
公用類(lèi):
/// <summary>
/// 權(quán)限設(shè)置二進(jìn)制
/// </summary>
[Flags]
public enum Permissions
{
Add = 1,
Del = 2,
Mod = 4,
Select = 8
}
/// <summary>
/// 判斷是否擁有此權(quán)限,false=不存在,true=存在
/// </summary>
/// <param name="value">權(quán)限類(lèi)型值</param>
/// <param name="per">操作類(lèi)型:增刪改查</param>
/// <returns>判斷是否擁有此權(quán)限,false=不存在,true=存在</returns>
public static bool IsPermission(int value, Permissions per)
{
bool bo = false;//默認(rèn)不存在
switch (per)
{
case Permissions.Add:
if ((value & Convert.ToInt32(Permissions.Add)) == Convert.ToInt32(Permissions.Add))//運(yùn)算 (value & 1)==1
bo = true;
break;
case Permissions.Del:
if ((value & Convert.ToInt32(Permissions.Del)) == Convert.ToInt32(Permissions.Del))//
bo = true;
break;
case Permissions.Mod:
if ((value & Convert.ToInt32(Permissions.Mod)) == Convert.ToInt32(Permissions.Mod))//
bo = true;
break;
case Permissions.Select:
if ((value & Convert.ToInt32(Permissions.Select)) == Convert.ToInt32(Permissions.Select))//
bo = true;
break;
}
return bo;
}
相關(guān)文章
asp.net無(wú)法加載oci.dll等錯(cuò)誤的解決方法
.net在windows2003下訪(fǎng)問(wèn)oracle9i提示“無(wú)法加載oci.dll”或"無(wú)法在dll oci.dll中找到名為ocienvcreate的入口點(diǎn) "的修復(fù)方法2013-10-10.NET6使用ImageSharp實(shí)現(xiàn)給圖片添加水印
這篇文章主要為大家詳細(xì)介紹了.NET6使用ImageSharp實(shí)現(xiàn)給圖片添加水印功能的相關(guān)資料,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-12-12asp.net下xml當(dāng)作導(dǎo)航數(shù)據(jù)源實(shí)現(xiàn)動(dòng)態(tài)權(quán)限
如果有權(quán)限的話(huà) 可以通過(guò)節(jié)點(diǎn)的Roles屬性判斷當(dāng)前登陸的賬號(hào)角色名是否符合然后判斷輸出這樣的話(huà)您就可以直接操作XML數(shù)據(jù) 而不用考慮別的。2009-12-12開(kāi)源跨平臺(tái)運(yùn)行服務(wù)插件TaskCore.MainForm
這篇文章主要為大家詳細(xì)介紹了開(kāi)源跨平臺(tái)運(yùn)行服務(wù)插件TaskCore.MainForm的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06.NET某消防物聯(lián)網(wǎng)后臺(tái)服務(wù)內(nèi)存泄漏分析
這篇文章主要為大家介紹了.NET某消防物聯(lián)網(wǎng)后臺(tái)服務(wù)內(nèi)存泄漏分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06ASP.NET站點(diǎn)導(dǎo)航應(yīng)用詳解
這篇文章主要內(nèi)容是ASP.NET站點(diǎn)導(dǎo)航,主要包括站點(diǎn)導(dǎo)航以及動(dòng)態(tài)修改內(nèi)存中的站點(diǎn)地圖,感興趣的小伙伴們可以參考一下2015-09-09創(chuàng)建第一個(gè)ASP.NET應(yīng)用程序(第1節(jié))
本文通過(guò)創(chuàng)建第一個(gè)ASP.NET應(yīng)用程序,了解.net代碼后置技術(shù)以及事件驅(qū)動(dòng)機(jī)制和web頁(yè)面設(shè)計(jì)中的基本控件使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-08-08