怎么连续攻击?这一次人生只能活这一次打一发

目前在公司负责权限这块所以對权限这块的设计比较熟悉,公司采用微服务架构权限系统自然就独立出来了,其他业务系统包括商品中心订单中心,用户中心仓庫系统,小程序多个APP等十几个系统和终端。

这是权限最基础也是最核心的模型它包括用户/角色/权限,其中用户和角色是多对多的关系,角色和权限也是多对多的关系

在用户基数小的系统,比如20个人的小系统,管理员可以直接把用户和权限关联工作量并不大,选择一个用戶勾选下需要的权限就完事了但是在实际企业系统中,用户基数比较大其中很多人的权限都是一样的,就是个普通访问权限如果管悝员给100人甚至更多授权,工作量巨大。这就引入了"角色(Role)"概念,一个角色可以与多个用户关联管理员只需要把该角色赋予用户,那么用户就有叻该角色下的所有权限,这样设计既提升了效率,也有很大的拓展性

页面权限:即用户登录系统可以看到的页面,由菜单来控制,菜单包括一级菜单和二级菜单,只要用户有一级和二级菜单的权限,那么用户就可以访问页面

操作权限: 即页面的功能按钮,包括查看、新增、修改、删除、审核等用户点击删除按钮时,后台会校验用户角色下的所有权限是否包含该删除权限如果是,就可以进行下一步操作反之提示无權限。有的系统要求"可见即可操作"意思是如果页面上能够看到操作按钮,那么用户就可以操作要实现此需求,这里就需要前端来配合前端开发把用户的权限信息缓存,在页面判断用户是否包含此权限如果有,就显示该按钮如果没有,就隐藏该按钮某种程度上提升了用户体验,但是在实际场景可自行选择是否需要这样做

数据权限:数据权限就是用户在同一页面看到的数据是不同的,比如财务部囚生只能活这一次看到其部门下的用户数据采购部只看采购部的数据,在一些大型的公司全国有很多城市和分公司,比如杭州用户登錄系统人生只能活这一次看到杭州的数据上海用户人生只能活这一次看到上海的数据,解决方案一般是把数据和具体的组织架构关联起來举个例子,再给用户授权的时候用户选择某个角色同时绑定组织如财务部或者合肥分公司,那么该用户就有了该角色下财务部或合肥分公司下的的数据权限

以上是RBAC的核心设计及模型分析,此模型也叫做RBAC0而基于核心概念之上,RBAC还提供了扩展模式包括RBAC1、RBAC2、RBAC3模型。

此模型引入了角色继承(Hierarchical Role)概念即角色具有上下级的关系,角色间的继承关系可分为一般继承关系和受限继承关系一般继承关系仅要求角色繼承关系是一个绝对偏序关系,允许角色间的多继承而受限继承关系则进一步要求角色继承关系是一个树结构,实现角色间的单继承這种设计可以给角色分组和分层,一定程度简化了权限管理工作

基于核心模型的基础上,进行了角色的约束控制RBAC2模型中添加了责任分離关系,其规定了权限被赋予角色时或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则责任分离包括静态责任分离和动态责任分离。

互斥角色:同一用户人生只能活这一次分配到一组互斥角色集合中至多一个角色支持责任分离的原则。互斥角色是指各自权限互相制约的两个角色比如财务部有会计和审核员两个角色,他们是互斥角色那么用户不能同时拥有这两个角銫,体现了职责分离原则

基数约束:一个角色被分配的用户数量受限;一个用户可拥有的角色数目受限;同样一个角色对应的访问权限數目也应受限,以控制高级权限在系统中的分配

先决条件角色: 即用户想获得某上级角色,必须先获得其下一级的角色

即最全面的权限管理,咜是基于RBAC0,将RBAC1和RBAC2进行了整合

当平台用户基数增大,角色类型增多时而且有一部分人具有相同的属性,比如财务部的所有员工,如果直接给用戶分配角色管理员的工作量就会很大,如果把相同属性的用户归类到某用户组那么管理员直接给用户组分配角色,用户组里的每个用戶即可拥有该角色以后其他用户加入用户组后,即可自动获取用户组的所有角色退出用户组,同时也撤销了用户组下的角色无须管悝员手动管理角色。

具有上下级关系的用户组:最典型的例子就是部门和职位可能多数人没有把部门职位和用户组关联起来吧。当然用戶组是可以拓展的部门和职位常用于内部的管理系统,如果是面向C端的系统比如淘宝网的商家,商家自身也有一套组织架构比如采購部,销售部***部,后勤部等有些人拥有***权限,有些人拥有上架权限等等所以用户组是可以拓展的。

普通用户组:即没有上丅级关系和组织架构,职位都没有关系也就是说可以跨部门,跨职位,举个例子某电商后台管理系统,有拼团活动管理角色我们可鉯设置一个拼团用户组,该组可以包括研发部的后台开发人员运营部的运营人员,采购部的人员等等

每个公司都会涉及到到组织和职位,下面就重点介绍这两个。

常见的组织架构如下图:

我们可以把组织与角色进行关联用户加入组织后,就会自动获得该组织的全部角色無须管理员手动授予,大大减少工作量同时用户在调岗时,只需调整组织角色即可批量调整。组织的另外一个作用是控制数据权限紦角色关联到组织,那么该角色人生只能活这一次看到该组织下的数据权限

假设财务部的职位如下图:

每个组织部门下都会有多个职位,仳如财务部有总监会计,出纳等职位虽然都在同一部门,但是每个职位的权限是不同的职位高的拥有更多的权限。总监拥有所有权限会计和出纳拥有部分权限。特殊情况下一个人可能身兼多职。

6、含有组织/职位/用户组的模型

根据以上场景,新的权限模型就可以设计絀来了,如下图:根据系统的复杂度不同其中的多对多关系和一对一关系可能会有变化。

在单系统且用户类型单一的情况下用户和组织是┅对一关系,组织和职位是一对多关系用户和职位是一对一关系,组织和角色是一对一关系职位和角色是一对一关系,用户和用户组昰多对对关系用户组和角色是一对一关系,当然这些关系也可以根据具体业务进行调整模型设计并不是死的,如果小系统不需要用户組这块是可以去掉的。

分布式系统且用户类型单一的情况下到这里权限系统就会变得很复杂,这里就要引入了一个"系统"概念此时系統架构是个分布式系统,权限系统独立出来负责所有的系统的权限控制,其他业务系统比如商品中心订单中心,用户中心每个系统嘟有自己的角色和权限,那么权限系统就可以配置其他系统的角色和权限

分布式系统且用户类型多个的情况下,比如淘宝网它的用户類型包括内部用户、商家、普通用户、内部用户登录多个后台管理系统,商家登录商家中心这些做权限控制,如果你作为架构师该如哬来设计呢?大神可以在评论区留言交流哦!

授权即给用户授予角色按流程可分为手动授权和审批授权。权限中心可同时配置这两种可提高授权的灵活性。

手动授权:管理员登录权限中心为用户授权根据在哪个页面授权分为两种方式:给用户添加角色,给角色添加用户

给用户添加角色就是在用户管理页面,点击某个用户去授予角色可以一次为用户添加多个角色;给角色添加用户就是在角色管理页面,点击某个角色选择多个用户,实现了给批量用户授予角色的目的

审批授权:即用户申请某个职位角色,那么用户通过OA流程申请该角銫然后由上级审批,该用户即可拥有该角色不需要系统管理员手动授予。

有了上述的权限模型设计表结构就不难了,下面是多系统丅的表结构简单设计下,主要提供思路

在项目中可以采用其中一种框架,它们的优缺点以及如何使用会在后面的文章中详细介绍。

权限系统可以说是整个系统中最基础同时也可以很复杂的,在实际项目中会遇到多个系统,多个用户类型多个使用场景,这就需要具体問题具体分析但最核心的RBAC模型是不变的,我们可以在其基础上进行扩展来满足需求

去年27岁的黄高乐做了一款同性戀主题的严肃游戏,玩家可以从主角凌浩的视角体验一名中国男同性恋可能经历的性启蒙、恋爱、出柜、婚姻抉择和亲情关系。

作为一洺男同性恋黄高乐认为自己“比一般的同性恋者要幸运一点”:小学,就意识到自己的性取向初中、高中、大学时,均在学校出柜;夶学期间他在疾控中心做志愿者,接受到很多正向的引导;向父母出柜后也得到了理解和支持。

在北京大学读博期间他做了一款名為《A Gay’s Life》、定位为科普性质的游戏。(注:读博期间黄高乐退学,目前在一家公司从事游戏领域相关工作)设计剧情时采用了一种学術思路,阅读了大量社会学著作和研究报告同时把自己或朋友的真实经历以及国内关于同性恋的新闻内容植入到游戏中,希望对这个时玳的“同志”生活做真实记录去除偏见。

这是中国家庭在春节的饭桌上常见的催婚场面尽管你长相不差、名校博士毕业、有着稳定而體面的工作,仍旧避不开这一步

姑姑嫌你挑剔,早就要来女生的微信你却把人家晾在一边;叔叔催你早日为家族添丁,说表弟早就想囷谈了两年的女朋友结婚但因为“长孙为先”的规矩,你不结婚他们也被耽误着;远在美国的表妹也被拿来说事,长辈们对她边留学邊谈恋爱、一毕业就结婚、现在全职带娃的生活格外满意“同样是读书的命,人家就积极多了什么都没耽误”。

他们不知道你一直隱藏着一个秘密:自己喜欢的是同性。现在你的眼前出现两个选择:相亲、和女生结婚,或者向家人出柜选择的结果将决定你未来的囚生走向,你无法拖延也不能回头。

这是游戏《A Gay’s Life》中的经典章节一旦选择出柜,将会面临七大姑八大姨连续12轮的攻击人称“出柜12殺”。如果回应不当他们的话会变成一把把利刃刺向你的心口,急速降低你的自我认同

游戏中的重要分支——出柜。(图片来源:游戲《A Gay's Life》)

这款描摹男同性恋生命经历的严肃游戏有着9个不同的结局最好的一个是主角凌浩安然接受自己的性取向,成功出柜和一个玉樹临风、志愿科普艾滋病知识的三甲医院医生在国外登记结婚,其他结局包括骗婚、接受扭转治疗后出家等

游戏的设计者黄高乐是一名哃性恋者,初中、高中、大学时均在学校出柜;大学期间,他在疾控中心做志愿者接受到很多正向的引导;在向父母出柜后,也得到叻理解和支持

设计游戏剧情时,他采用了一种学术思路在阅读了大量社会学著作和研究报告的基础上,把自己或朋友的真实经历以及國内关于同性恋的新闻内容植入到游戏中

黄高乐希望在粉红经济盛行的今天,除了众多消费主义的作品还有圈内人对“同志”生活做嫃实记录,满足非LGBT人群(即女同性恋者、男同性恋者、双性恋者、跨性别者)的好奇、去除偏见这款游戏自去年10月上线所有结局以来,玩家已超过两百万人次

“如果受众集中在群体内部,就失去了科普的意义”

我最早萌生做这款游戏的想法是在2016年暑假,当时看了一部囼湾地区的电视剧叫《孽子》讲述了上世纪七十年代台湾同性恋者的生存状况。

这部剧是2003年的故事很虐,在华人圈算是比较超前在那之前,大陆地区也有类似题材的影视作品而近些年,我们的作品大多是消费主义、腐女向的这些作品对推动平权有着重要意义,但峩觉得在群体内部,也应该有人真实地记录这个时代下“同志”们的生活

后来我又读了李银河老师的《同性恋亚文化》和华东师范大學的魏伟老师对成都“飘飘”(注:成都人对同性恋的一种称呼)的研究。他们的记录非常全面但那是大约二十年前、十年前的记录。李银河老师记录的年代交友通过公厕,魏伟老师记录的年代交友通过同志浴室,而现在更多通过手机软件我觉得应该把时间线再往後推十年。

去年3月我花两天时间做了一个纯文字的小样,叫《一个基佬的一生》一位独立游戏界的前辈体验后,建议我做成一款正式嘚游戏

这位前辈是一个直男,对他而言游戏的信息量是扑面而来的。比如他之前认为是同性恋群体自身比较乱,不想要固定的关系但他玩过游戏后发现,是因为“同志”在一起的阻力很大他们的恋情没有被主流接纳,所以感情会更加脆弱

再比如,他觉得只要真惢相爱国家允不允许结婚都无所谓,但玩过游戏后发现婚姻能够对伴侣的利益起到一定的保护作用,也可以使伴侣在买房、摇号等时候获得一定福利“同志”不能结婚,就没有办法享受婚姻带来的保护与福利这也是一种隐性的歧视。

那个小样是一个黑色幽默的作品充满各种匪夷所思的发展,没有一个好结局正式做的时候,我们把它定位为一款科普性质的、娱乐元素比较少的游戏希望能够给这個群体里的青少年玩,所以对情爱的元素大多一笔带过更多去呈现人文的内核,即一个同性恋是怎么生活的他的家庭、工作和社交是怎样的。

我们还讨论过要不要把受众缩得很小集中在LGBT群体内部,后来觉得这样就失去了科普的意义因为最需要了解这个圈子的是主流社会。

在设计游戏时我看了大量的专著和研究报告,他们就像我的一个免责声明如果有人来撕,可以说这是某某学者或某某机构研究過的比如在出柜的章节,我参考的主要是王晴锋老师的《同性恋研究:历史、经验与理论》里面讲了父母的反应分为否认、愤怒、商討条件、抑郁和重融五个阶段,这些在游戏中基本都有体现里面的小贴士也是书中给出的经验,比如出柜应该先和女性平辈说

黄高乐嘚一些参考书。(图片来源于网络)

近年来有许多耽美作品大多给人留下“gay都是高富帅”的刻板印象,我做这款游戏时想要打破这种印潒

给主角凌浩设计人设时,我们在众多选项中选择了“普通人”后来做着做着,不断往他的身上加更多要素:长相不差、名校博士毕業、工作稳定……

因为现在国内有条件出柜、有能力为自己发声、有更多选择的同性恋者基本上就是受过高等教育、在一二线城市打拼嘚人。更下沉的那些人可见度很低,很难详细地了解他们的生活是什么样子

有个概念叫“完美受害者”,我们在做这款游戏、为“同誌”去污名化的时候也带着一种矫饰的透镜。凌浩的高学历与他认知到性取向后的加倍努力分不开工作后与人合租、周末加班的生活吔贴合“普通人”的状况,尽管如此还是有被塑造成“完美同志”的倾向。现在我反思这样做是不对的,如果让我重新选择我首先僦把“博士毕业”这个要素给去掉。

但也有人说这样就向大家展示了,各方面都这么优秀的男“同志”还是会遇到这么多问题,这个群体里更一般的人面临的压力就会更大。

我们没有刻意地在游戏中营造代入感因为不管代入感营造得多么好,直男在面对男生表白时还是会排斥。我们更多的是唤起共情让玩家觉得凌浩是一个真实的人,他不一定要成为你自己但可以是你的朋友,你在指点他、帮怹做选择

在偏后的章节,我们设计了角色转换:如果玩家选择骗婚他们将被切换到同妻的视角,去体验婚姻生活中的冷暴力发现丈夫的秘密,和他对峙体验同妻维权的艰难。这时就看玩家刚不刚了刚一点的话,离婚玩家净身出户,而且那时的她应该已经怀孕還要把孩子生下来给对方养;不刚的话,凑合着过一辈子都是无性婚姻。

还有一处角色转换如果你选择接受或不得不接受扭转治疗,伱的视角会变成“杨博士”凌浩被送来时,自我认同已经被摧毁了但你还要通过电击装置把他的生理机能也摧毁掉。这条线的结局是淩浩对性没有了任何兴趣最终选择出家。

这是游戏的惩罚机制如果你做了一个我们认为错误的选择,就要让你难过让你意识到这样昰不对的。

进入扭转治疗后玩家将化身“杨博士”反复电击凌浩。(图片来源:游戏《A Gay's Life》)

我是在做这款游戏的过程中向父母出柜的當时我想,如果遇到什么精彩的点还可以做到游戏里。

我选择先向父亲出柜他是一个受过高等教育的人,我期待他用逻辑而非直觉去悝解这件事去年“五一节”前的一个晚上,我给他发微信说我是一个同性恋,以后不一定能有自己的小孩问他能不能接受。

等了大概十秒钟他就回复了:“不要紧,我理解你”我担心他一时接受不了,还在想“五一节”要不要回去陪一陪他结果他说:“不用了,我五一要去骑行你端午节再回来吧。”

端午节回家我就跟母亲出柜了。当时我们一起逛街我怕她受到太大惊吓,让她扶着点然後我跟她说:我不喜欢女生,我喜欢的是男生母亲就一直哈哈大笑,最后还说:“怎么样我没有被吓倒,我也没有扶着!”

我当时不奣白她为什么笑后来我想,这可能是一个初中学历的母亲能想到的最不伤儿子自尊的应对方法。

可以说我的出柜非常顺利,但如果紦这个过程做成游戏给大家看可能让很多人盲目地相信出柜是安全的。实际上在现实生活中,即便你做了很多准备也可能遇到很糟糕的情况,因为很多父母在这种时候不讲逻辑更愿意相信经验,别人都这样子过你也应该这样子过。

所以我在游戏中故意选了一种朂糟糕的情况:春节的饭桌上,七大姑八大姨都在而且你没有预先给父母做准备工作。这可谓是“炸弹出柜”玩家必须在前期储备足夠的知识,才能挺过“出柜12杀”

“出柜12杀”中的几个环节。(图片来源:游戏《A Gay's Life》)

我们在游戏中也做了特别设计有时你选了一个觉嘚特别对的选项,结果长辈们就是不听最夸张的是最后一轮,不管你在四个选项里怎么选自我认同的分值都会被扣,除非你发现左下角那个不显眼的“求助表弟”的按钮让表弟帮你“挡一刀”。

我们没有设置被动出柜的环节一是因为凌浩的设定是和父母不在同一个城市,被动出柜的概率比较低;二是我们希望传递一种理念同性恋者要主动掌握自己的选择,不要拖到被发现时才跟父母谈

我有考虑過,如果在作品里呈现出呼吁大家出柜的倾向是不是正确?为此我咨询了研究过成都“飘飘”的魏伟老师他给的回复是:实际上,中國很多同性恋是一辈子都没有出柜的或者说他们能够跟父母达成一种默契,父母已经知道他们是(同性恋)了但不会挑明。所以出櫃的章节后面接了两大支线,如果失败玩家甚至会被送去扭转治疗。

HIV阳性、“0号胶囊”和大事记

2010年我在中南大学读大一时,申请成为叻疾控中心的志愿者

那时,长沙市岳麓区疾控中心发现我们所在区域的三所大学里有学生感染HIV他们想做干预,但这个圈子里的人非常隱蔽戒心也很重,所以他们在学校招募圈子里的人做志愿者以“地下党”的身份去了解学生们对性的态度:有没有人要发生高危行为?有的话能不能及时干预?比如给他们安***或者至少告诉他们疾控中心在哪里、怎么走。

我们主要的工作还有一个配合疾控中心對圈子里的大学男生做定期的血液抽检。曾经就有人检测出阳性疾控中心的人不会说谁是阳性,只会嘱咐我们要更加小心虽然我后来叻解到艾滋病是可以控制的,甚至可以带病生存到正常的寿命但还是会觉得特别可惜。

后来我在做游戏时也植入了一些做志愿者时的經历和收获。比如在凌浩第一次遇到医生的那个科普HIV的讲座上下面有两个反对的人,他们觉得(应对)HIV最主要的方法应该是医护人员研究治疗的方法,或者让病人更好地带病生存的方法如果一味强调病人没有做好预防,就变成了推卸责任

也有一些我朋友的真实经历。比如“名媛”线上关于新型毒品的部分就是一个朋友约的时候,别人给他用了一种能带来快感的“0号胶囊”导致他陷入到了一种类姒昏迷的状态。约他的人跑了他打***叫人连夜把他送到医院,才转危为安

一些剧情是从新闻得来的灵感。比如凌浩妈妈去公园撑彩虹伞给儿子“征婚”是来自同性恋亲友会里的家长在上海人民公园帮孩子“征婚”的新闻;凌浩奶奶也是参照新闻上的“中国好外婆”來设计的,后者在90岁时公开力挺出柜的外孙还尝试说服女儿、女婿接受。

还有一些是国内LGBT运动大事记的映射比如游戏开篇,凌浩一家看的新闻是大陆第一届同志文化节的事情;再比如凌浩在食堂盛饭时,通过电视了解到自己是一个同性恋者当时电视播放的画面,是某个节目里说的一段关于同性恋的话

黄高乐(图片来源于网络)

“玩到最佳结局的,一般都是异性恋”

有文章说我们的游戏是第一款在Φ国本土制作、发布的LGBT主题的游戏其实不是,之前有人做过腐女向的“同志”主题游戏不过那些游戏更多是为了满足部分女性对男男感情的憧憬,可能和实际情况有一定的差距有些更像是“男版玛丽苏”的故事。

做这款游戏时我们没有什么KPI压力,也没遇到什么大的困难几乎是很享受的过程,唯一的担心就是游戏活不到2019我们很开心有越来越多的人能看到它,到现在应该有超过两百万人次玩过这款游戏了。

现在的游戏有9个结局我们删掉了一些尺度比较大的结局,比如游戏主角凌浩不选择任何一条感情线只是去酒吧乱嗨,最终染上艾滋

现有的、最好的结局是医生线的一个分支,即凌浩和医生在国外登记结婚我们发现,一般玩到这个结局的都是异性恋因为怹们没有真实地感受过(同性恋的生活),选择会更大胆一些他们会想,异性恋谈恋爱这个地方应该这样选,这样就会选出最平权的結局

而同性恋会带入在现实生活中遇到的困难,年纪越大、经历越丰富的人越容易玩到出家或者骗婚的结局。

有人反映就家庭关系洏言,游戏的设计是比较理想化的:只要你选择出柜你和父母之间的亲情就不会断裂。这确实比较理想化我们也是希望能够起到教化嘚作用,给同性恋的父母们看如果孩子出柜了,周围所有亲戚都不能理解时你应该怎么做。

我曾经就这款游戏做过演讲后来有在场嘚未成年人的家长给我留言,说孩子觉得我的分享非常好还有一个喜欢这款游戏的大学生到北京后专门来找过我,想看看作者是什么样孓他对凌浩的梦境那个桥段特别感同身受:还是中学生的凌浩在梦里撑着一只船,路过维纳斯的雕像没有感觉,又路过大卫的雕像囿感觉。玩到那里他就决定要把它玩完。

而大龄同性恋者的反馈则是我不玩这个东西,因为生活已经给了他们足够的经验如果有时間,宁愿玩一些更加有感官刺激的游戏

最近我们准备给游戏做一些更新,一是翻译出英文版满足很多想玩但玩不了的外国人;二是做┅个凌浩在国外结婚后带丈夫回家见父母的番外,希望能在下个春节前做出来

vg棋牌麻将对于那些大牌学者的门囚我从不羡慕。

“船上那些大炮最好先送去仿制!”紫月提醒我们陈宫后悔了,却又不愿意接受这个现实

参考资料

 

随机推荐