热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

权限管理功能的实现与优化策略

上一周负责做了一下权限管理这一块,今天基本收工了。权限管理这个板块要做的话可以有很多讲究,这里只是记录一下其中菜单管理大致的实现机制,然后分析一下这种实现方案的优势和弊端吧。1.先

上一周负责做了一下权限管理这一块,今天基本收工了。权限管理这个板块要做的话可以有很多讲究,这里只是记录一下其中菜单管理大致的实现机制,然后分析一下这种实现方案的优势和弊端吧。

1.先用一个独立的管理中心(Manager Center, MC)系统来构建系统菜单目录,这里不光记录系统有哪些菜单,而且还能建立菜单层级关系,以及每个菜单的属性(菜单名称,菜单编号,菜单样式,URL等等)。所以这个管理系统可以是十分复杂的,同一个管理系统可以用于管理不同系统的菜单权限(先选择系统,再构建菜单)。这个系统,是公司已经构建好了的,所以使用起来十分方便。

2.在构建了菜单目录以及记录系统菜单属性后,就需要再这个独立MC系统上来进行授权操作了,所谓授权操作,也就是把他和特定的用户名关联起来,这样一来,用户登录后,就可以根据用户名在MC系统中获取其所有的可访问的菜单。

3.在用户登录后,通过用户名作为参数来调用MC系统提供的服务,然后获取其可以访问的所有菜单信息并保存在session当中,然后前端页面就可以从session中去迭代出可以访问的菜单选项。这里需要注意的是,一个页面可以有多个不同类别的菜单,比如导航菜单,主要功能菜单。这些菜单会需要使用相关的迭代标签来实现。所以这里自己设计的解决方案是,在MC中使用一个字段来记录菜单的类别,这样在同一个页面,只需要根据类别就能够将不同的菜单组给迭代出来了。

 

好处:1.独立的权限管理系统,可以管理菜单,或者更细粒度的权限,比如某个按钮,下拉框等等。2.安全性提高,菜单不写死在前台,而是用户登录后从后台(MC服务)获取。 3. 可配置性提高,对于菜单样式以及url等信息的修改,可以直接在MC系统上完成,无需修改系统代码。

短板:1.用户登录后加载的信息变多。2.自己构建MC系统的话,代价十分昂贵。

 


推荐阅读
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 本文介绍了如何利用X_CORBA实现远程对象调用,并通过多个示例程序展示了其功能与应用,包括基础的Hello World示例、文件传输工具以及一个完整的聊天系统。 ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 本文将探讨如何在 Struts2 中使用 ActionContext 和 ServletActionContext 来获取请求参数和会话信息,同时解释它们的内部机制和最佳实践。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文总结了设计、开发和部署Web应用程序时应遵循的一些最佳实践,这些实践结合了个人经验和权威资料,旨在帮助开发者提高Web应用的安全性。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 解决Win10系统自动删除破解软件的问题
    如何处理Win10系统频繁自动删除安装的破解软件?本文将详细介绍可能的原因及解决方案,帮助用户顺利安装所需软件。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 本文介绍如何在阿里云环境中利用 Docker 容器化技术部署一个简单的 Flask Web 应用,并确保其可通过互联网访问。内容涵盖 Python 代码编写、Dockerfile 配置、镜像构建及容器运行等步骤。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
author-avatar
一心向应丨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有