.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。
公用類:
/// <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)限類型值</param>
/// <param name="per">操作類型:增刪改查</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)文章
利用Typings為Visual Studio Code實(shí)現(xiàn)智能提示功能
最近在學(xué)習(xí)Node.js及ThinkJS這個(gè)框架,用vscode作為開發(fā)環(huán)境。默認(rèn)情況下vscode對(duì)ThinkJS的代碼提示并不好,所以研究了一下,原來可以同通過Typings來讓vscode擁有強(qiáng)大的智能代碼提示功能。下面本文就介紹了如何利用Typings為Visual Studio Code實(shí)現(xiàn)智能提示功能。2017-02-02
MVC4制作網(wǎng)站教程第三章 瀏覽用戶組操作3.1
這篇文章主要為大家詳細(xì)介紹了MVC4制作網(wǎng)站教程,瀏覽用戶組功能的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
.Net筆記:System.IO之windows文件操作的深入分析
本篇文章是對(duì).Net中windows文件操作的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
使用visual studio自動(dòng)創(chuàng)建IIS虛擬目錄
使用visual studio自動(dòng)創(chuàng)建IIS虛擬目錄,需要的朋友可以參考一下2013-02-02
ASP.NET插件uploadify批量上傳文件完整使用教程
這篇文章主要為大家詳細(xì)介紹了ASP.NET插件uploadify批量上傳文件完整使用教程,感興趣的小伙伴們可以參考一下2016-07-07
Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實(shí)例
近來總有一些朋友會(huì)問到一些入門的問題,把這些問題整理一下,寫出來。在以前的文章里,曾經(jīng)利用純JS編寫過Ajax引擎,在真正開發(fā)的時(shí)候,大家都不喜歡以這種低效率的方式開發(fā),利用MS Ajax的集成的引擎,可以簡(jiǎn)單不少工作。2010-03-03

