C# 枚举 Flag属性(权限设计)

枚举是一个可以列举元素的对象,常用于权限,日期,类型等。

如果对一个值可以包含多个,那么可以使用枚举,加上Flags

[Flag]
public enum Permission
{
  create=1,
  add=2,
  delete=4,
  update=8
}
//权限设计通常用2的幂次方,防止值重复

权限相加

Permission addP=Permission.create|Permission.add

判断是否含有此权限

addP.HasFlag(Permission.add);
//或者
(show & Show.A)!=0;//T 有 F 无

删除权限

addP=addP& (~Permission.add);

数据库存int,将int转成枚举

Permission allP = (Permission) Enum.Parse(typeof(Permission), 3 ); 

原文地址:https://www.cnblogs.com/itsone/p/10310644.html

时间: 2024-10-09 11:57:25

C# 枚举 Flag属性(权限设计)的相关文章

C# Enum 简易权限设计 使用FlagsAttribute属性

C# Enum 简易权限设计 使用FlagsAttribute属性 基本权限设计: /// <summary> /// 权限列举 /// </summary> [FlagsAttribute] public enum Permissions { [Description("未设定")] None = 0, [Description("建立")] Create = 1, [Description("读取")] Read =

大话权限设计

前言 如何实现一个高效简单的系统权限体系是我们长期以来都在思考的问题,也是最近一年来我思考得最多的问题,我们所期望的权限都是应当能够根据应用的需要不断添加和扩展的权限,并且最好能够以最简单的方式来支持,那就最好不过了. 内容 什么是权限系统 一个简单的设计 基于角色的访问 最初的数据权限 更好的解决方法 最近的战役 总结 什么是权限系统 那么我们需要一个什么样的权限系统呢或者说什么是权限,我查看了很多的相关资料想要试图解决这个问题,最后看一个最简单最明确的答案"安全问题就是解决谁对什么能够进行什

信息系统的权限设计

题记: 熟话说:男怕入错行,女怕嫁错郎! 掐指一算入行IT业,已7年的码农生涯.在今天来看,其实IT行业,要做点事情不没有想象中的那么难,可是为啥只知道上班.下班,有时面对自己无言以对啊!这么多年没给自己留下什么有形资产,实属遗憾! 苏联作家尼古拉·奥斯特洛夫斯基 在<钢铁是怎样炼成的>一书中,有一段话很是经典,让我们再次回顾一遍吧:人最宝贵的东西是生命.生命对人来说只有一次.因此,人的一生应当这样度过:当一个人回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧;这样,在他临死的时候, 能够

关于数据权限设计的一些想法

序言 在各种系统中,要保证数据对象的安全性以及易操作性,使企业的各业务部门.职能部门能够方便而且高效的协同工作,那么一个好的数据权限管理设计就成为一个关键的问题.虽然企业中各个单元的工作流程有所不同,处理的数据对象也有所不同,但是在组织结构.信息的处理方式上具有很多相同的地方,这就为设计数据对象的权限控制提供了一个抽象基础.数据权限的控制不同于一般的功能权限的控制,一般的功能权限指的是某个用户.角色或者是某个用户组能不能操作某种功能.而数据权限指的是某个用户.角色或者是某个用户组对某个数据对象的

JAVA 数据权限设计

数据权限设计 序言 在各种系统中,要保证数据对象的安全性以及易操作性,使企业的各业务部门.职能部门能够方便而且高效的协同工作,那么一个好的数据权限管理设计就成为一个关键的问题.虽然企业中各个单元的工作流程有所不同,处理的数据对象也有所不同,但是在组织结构.信息的处理方式上具有很多相同的地方,这就为设计数据对象的权限控制提供了一个抽象基础.数据权限的控制不同于一般的功能权限的控制,一般的功能权限指的是某个用户.角色或者是某个用户组能不能操作某种功能.而数据权限指的是某个用户.角色或者是某个用户组对

OFBiz 初步 之 权限设计

简介 Apache Open For Business(Apache OFBiz) 是Apache开源的一个经典ERP项目.它提供了一套企业应用,用于集成以及自动化一些企业的"商业流程". 从学习角度来看,它也是一个非常不错的企业级应用框架.这篇文章从OFBiz的权限设计这一切入点来谈谈OFBiz对于应用系统的权限设计. 设计思想简述 OFBiz采用的"安全组"(Security Group)来将"权限"跟"用户"联系起来.系

ASP.NET网站权限设计实现(二)——角色权限绑定

1.关于使用的几张表的说明 (1)Module:模块表,记录模块名称.编码等模块基本数据. (2)Permissions:权限表,记录所有模块权限distinct之后的数据. (3)ModulePermissions:模块权限,记录每个模块对应的权限,一个模块可能存在多条数据,每条表示该模块的一个操作权限. (4)Roles:角色表,记录角色名称.编码等角色基本数据. (5)RolePermissions:角色权限表,记录每个角色对应的权限,一个角色可能存在多条数据,每条数据表示该角色在某个模块

ASP.NET网站权限设计实现(三)——套用JQuery EasyUI列表显示数据、分页、查询

一.说明: JQuery EasyUI下载地址:http://jquery-easyui.wikidot.com/download,最新版本1.2.2. 首先预览一下界面: 本例实现的功能: 1.多标签 2.分页列表显示数据 3.获取选中行的标识值,删除选中行 实现以上功能主要使用了: 1.layout:布局 2.tabs:多标签 3.datagrid:表格显示数据,并可以分页 4.messager:消息框 5.window:窗口 要了解用法,下载之后,参阅demo文件夹下的demo和官方文档.

通用数据权限设计思维概述

1.数据权限概述 1.1 什么是数据权限? 数据权限是指对系统用户进行数据资源可见性的控制,通俗的解释就是:只有符合条件的用户才能看到该条件下对应的数据资源.举个简单的例子: 本组织的销售人员只能看见本组织的客户信息. 某专职会计只能看见A部门及其下级部门的单据. 上述这些需求,使用硬编码也是可以实现的,但是在业务快速发展的过程中,类似这种数据权限需求会越来越多,如果全部采用硬编码的方式,无疑会给我们带来巨大的开发和维护压力. 1.2 要素分析 从数据权限的解释来看,只有符合条件的用户才能看到该