欢迎来到潍坊禾丰软件信息技术有限公司!
18363620917

产品中心

当前位置:首 页 > 产品中心 > HFBPM平台
收起/展开

两个权限设计中容易忽略的问题

作者:admin 阅读量: 发布时间:2020/10/21 9:29:52

软件系统权限设计是至关重要的,特别是针对多用户多角色的情境下,有两个问题是我们不得不面对的,而且是很容易处理不好的。hfbpm平台针对多租户的情况进行了较为完善的权限验证。主要解决两个突出的问题:

  1. url拦截,防止非法访问。

    这是一种最常见的防盗链处理,典型的场景是:一个用户使用较低权限的帐号guest登录系统,该帐号无权访问重要的财务管理页面accountMgr.aspx(通常的处理是看不到导航到该页面的菜单或者按钮),但是用户知道财务页面的地址,那么在浏览器里面输入这个页面地址,如果不做防盗处理的话,是可以轻松访问到该页面的。这是一个非常简单而又典型的场景,可能有人会笑,怎么可能不做这种处理呢,事实上,大部分软件项目或者产品没有做这种处理,原因很多,搞我们这行的都心知肚明。

    Hfbpm的解决方案:

    例如,不允许“公司管理员”访问“组织管理”OrganizeMgr.aspx这个页面。那么对“公司管理员”角色分配权限时,去掉“组织管理”的访问权限,如下图:

    同时,不允许删除角色,权限配置如下图:

    配置好权限后,使用公司管理员账号wjadmin登录系统,首先在导航菜单中看不到“组织管理”菜单,如下图:

    强行在浏览器里面输入组织管理的网址,如下图:

    系统防盗处理,跳转到没有权限的页面,如下图:

    删除角色,系统提示被拒绝。如下图:

     

  2. 权限内授权,防止越权授权。

    这个问题也是非常典型的,通常有权限分配权力的都是管理员,一旦有了分配权限的功能,那么可给任何角色赋予权限。这样其实不合理的,正确的做法是,只能赋予权限内的权限,即只能授出管理员拥有的权限,管理员没有的权限不能授出。大部分软件系统也没有这样处理。

    Hfbpm的解决方案

    例如,上面的例子中“公司管理员”不具备访问“组织管理”的权限,那么公司管理员授权时,不能授出访问组织管理的权限,同样也不能授出删除角色的权限。如下图给“人力资源管理”授权,看不到组织管理菜单:

    授权时看不到“删除”,如下图:


设为首页 加入收藏 意见反馈 联系我们 网站地图 网站数据统计

线

在线客服