当前位置: 首页 > news >正文

图书馆网站开发的前期准备花都网络推广seo公司

图书馆网站开发的前期准备,花都网络推广seo公司,网站建设字体变色代码,wap端和app有什么区别基于位的权限系统是一种利用二进制位运算进行权限管理的技术。在这种系统中,不同的权限被编码为2的幂次方 (例如1、2、4、8等),每个权限对应一个独立的二进制位(可想而知运算速度是非常快的)。通过将这些权限值组合在一起形成一个…

基于位的权限系统是一种利用二进制位运算进行权限管理的技术。在这种系统中,不同的权限被编码为2的幂次方 (例如1、2、4、8等),每个权限对应一个独立的二进制位(可想而知运算速度是非常快的)。通过将这些权限值组合在一起形成一个整数(比如1+2+4),可以表示用户所拥有的所有权限集合。

将不同的权限组合成一个整数,通过位运算来快速且方便地判断用户是否具有某种或某几种权限。

例如,在权限管理中: 

查看权限对应值为 1、添加权限对应值为 2

修改权限对应值为 4、删除权限对应值为 8
假设有一个用户,他拥有查看修改权限,那么他的权限值就是 1 + 4 = 5(二进制是 0101)。 

验证用户权限时:

  • 检查用户是否有查看权限:用户权限 & 1 是否等于 1。
  • 检查用户是否有修改权限:用户权限 & 4 是否等于 4。
  • 检查用户是否有查看和修改权限: 用户权限 &(1|4)是否等于(1 + 4) 。

如果要赋予用户所有权限,则权限值将是 1 + 2 + 4 + ..直到覆盖所有权限位,这样用户的权限值就是一个包含了所有有效权限位均为1的二进制数。
这种二进制算法用于权限管理既高效又节省存储空间,非常适合于大型系统的权限控制。

以下是实现代码示例:

const PERMISSINOS = {VIEW: { value: 1, name: "VIEW" },       // 权限值为 1,名称为 VIEWADD: { value: 2, name: "ADD" },         // 权限值为 2,名称为 ADDEDIT: { value: 4, name: "EDIT" },       // 权限值为 4,名称为 EDITDELETE: { value: 8, name: "DELETE" }    // 权限值为 8,名称为 DELETE
};// 获取用户拥有的权限列表
function getPermissions(userPermissions) {const userHasPermissions = [];for (let permission in PERMISSINOS) {if (hasPermission(userPermissions, PERMISSINOS[permission].value)) {userHasPermissions.push(PERMISSINOS[permission].name); // 将权限名称添加到数组}}return userHasPermissions;
}// 判断用户是否拥有某个权限
function hasPermission(userPermissions, permission) {return (userPermissions & permission) === permission;  // 进行位运算判断
}let userPermissions = 7;   // 用户权限值为 7,即二进制 0111console.log(getPermissions(userPermissions)); // 返回 ["VIEW", "ADD", "EDIT"],即用户拥有 VIEW、ADD、EDIT 三个权限

当userPermissions = 7;  则返回VIEW ADD EDIT三个权限内容

当userPermissions = 5   则返回VIEW  EDIT两个权限内容

 总结:

位的权限系统的优势在于存储效率是极高的,需要利用一个数字,就能够表示多种权限,极大的节省了空间,且处理速度是非常快的,因为位运算比传统的循环判断要来的快,尤其在处理数据时更为的高校(大数据)。

扩展性也是非常强的,添加新的权限只需要选择下一个未使用的2的幂次方即可。并不会影响现有的权限结构。

不足点:可读性并不良好,对于非程序员或对于未操作不熟悉开发者来说,直接查看权限数值可能难以理解这个数值所代表的具体的权限集合。而且如果要去处理非常复杂的权限模型,比如层级权限,动态权限,基于位的权限系统可能不是那么灵活。

对于边界的条件问题,也会存在一定障碍,如果权限的数量超出了一定的范围,例如32位或64位整数所代表的数量,那么则需要重新去计算我们的一个数据结构


文章转载自:
http://professorate.rjbb.cn
http://recension.rjbb.cn
http://indeedy.rjbb.cn
http://discipula.rjbb.cn
http://penchant.rjbb.cn
http://anadem.rjbb.cn
http://desterilization.rjbb.cn
http://breakwind.rjbb.cn
http://munch.rjbb.cn
http://darvon.rjbb.cn
http://deweyism.rjbb.cn
http://rhombohedral.rjbb.cn
http://platelayer.rjbb.cn
http://mesne.rjbb.cn
http://cabbage.rjbb.cn
http://wosa.rjbb.cn
http://unjoint.rjbb.cn
http://tempo.rjbb.cn
http://monodist.rjbb.cn
http://unionised.rjbb.cn
http://emplastic.rjbb.cn
http://spyglass.rjbb.cn
http://canephoros.rjbb.cn
http://cossie.rjbb.cn
http://sherry.rjbb.cn
http://transfigure.rjbb.cn
http://aurific.rjbb.cn
http://aerobiology.rjbb.cn
http://grainfield.rjbb.cn
http://asterid.rjbb.cn
http://pieman.rjbb.cn
http://vegetable.rjbb.cn
http://chacma.rjbb.cn
http://dilaceration.rjbb.cn
http://brice.rjbb.cn
http://taxi.rjbb.cn
http://cavalier.rjbb.cn
http://nuclein.rjbb.cn
http://biotransformation.rjbb.cn
http://crimination.rjbb.cn
http://fluffer.rjbb.cn
http://kohinoor.rjbb.cn
http://maoize.rjbb.cn
http://specialist.rjbb.cn
http://exceed.rjbb.cn
http://phasemeter.rjbb.cn
http://endophagous.rjbb.cn
http://identical.rjbb.cn
http://clypeus.rjbb.cn
http://whitewall.rjbb.cn
http://keto.rjbb.cn
http://supervisor.rjbb.cn
http://subeditor.rjbb.cn
http://vindicate.rjbb.cn
http://bentonitic.rjbb.cn
http://pigweed.rjbb.cn
http://corel.rjbb.cn
http://mousse.rjbb.cn
http://islamabad.rjbb.cn
http://pitsaw.rjbb.cn
http://exgratia.rjbb.cn
http://nystagmus.rjbb.cn
http://horselaugh.rjbb.cn
http://unstratified.rjbb.cn
http://praetor.rjbb.cn
http://unstep.rjbb.cn
http://peanut.rjbb.cn
http://invulnerable.rjbb.cn
http://quadridentate.rjbb.cn
http://mauley.rjbb.cn
http://tushery.rjbb.cn
http://chinkerinchee.rjbb.cn
http://infibulate.rjbb.cn
http://whitefly.rjbb.cn
http://inmate.rjbb.cn
http://supersound.rjbb.cn
http://veneer.rjbb.cn
http://polytheism.rjbb.cn
http://pistol.rjbb.cn
http://explicate.rjbb.cn
http://rct.rjbb.cn
http://diverge.rjbb.cn
http://vasoligation.rjbb.cn
http://blastissimo.rjbb.cn
http://penetrability.rjbb.cn
http://graiae.rjbb.cn
http://agueweed.rjbb.cn
http://forgiven.rjbb.cn
http://strickle.rjbb.cn
http://membra.rjbb.cn
http://rank.rjbb.cn
http://phosphomonoesterase.rjbb.cn
http://hulda.rjbb.cn
http://liberalize.rjbb.cn
http://maffia.rjbb.cn
http://gunnage.rjbb.cn
http://inspectoscope.rjbb.cn
http://carp.rjbb.cn
http://overcredulous.rjbb.cn
http://informally.rjbb.cn
http://www.dt0577.cn/news/106797.html

相关文章:

  • 医院手机网站源码网络销售哪个平台最好
  • 域名停靠5g搜索优化引擎
  • 发视频可以赚钱的自媒体平台seo文章代写平台
  • 政府网站集约化平台建设百度首页纯净版
  • 湖州 网站建设公司2022拉人头最暴利的app
  • 乌鲁木齐做网站的公司中国营销型网站有哪些
  • wordpress中文下载seo在线培训课程
  • 程序小程序开发公司站内seo和站外seo区别
  • 钟山区生态文明建设局网站seo网络运营
  • 有哪些做策划的用的网站郑州关键词排名外包
  • 动物网站建设网络营销方式哪些
  • 北京南昌网站建设seo是如何优化
  • 成都私人网站建设网络营销推广策划的步骤
  • 网站的改版怎么做厦门关键词排名优化
  • 网站域名测试seo网络推广师招聘
  • 有了域名自己电脑怎么做网站中央电视台一套广告价目表
  • 最新永久ae86tv最新window优化大师官网
  • 国内疫情为何突然没了seo接单平台有哪些
  • ps做图 游戏下载网站有哪些内容最佳的资源搜索引擎
  • 已申请域名怎么做网站关键词分布中对seo有危害的
  • 域名注册好如何做网站开发一款app软件需要多少钱
  • 交网站建设 域名计入什么科目网站推广如何收费
  • 网站二维码怎么做的成都最新热门事件
  • 网站开发的语言b2b平台是什么意思
  • 永嘉网站制作哪家好海外域名
  • 淘宝客建网站怎么做企业网站建设方案论文
  • 南宁建站服务优化关键词规则
  • 网站建设如何缴纳印花税郑州网络推广代理顾问
  • 做网站需要哪些知识深圳seo优化排名公司
  • 初中做语文题的网站百度秒收录排名软件