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

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

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

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

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

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

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

 

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

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

 


推荐阅读
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 如何恢复意外取消的Windows 11更新推送
    本文介绍了解决Windows 11更新推送意外取消的问题,并提供了详细的步骤,帮助用户顺利升级到Windows 11。 ... [详细]
  • 本文深入探讨了计算机网络的基础概念和关键协议,帮助初学者掌握网络编程的必备知识。从网络结构到分层模型,再到传输层协议和IP地址分类,文章全面覆盖了网络编程的核心内容。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 在众多不为人知的软件中,这些工具凭借其卓越的功能和高效的性能脱颖而出。本文将为您详细介绍其中八款精品软件,帮助您提高工作效率。 ... [详细]
  • 本文探讨了高质量C/C++编程的最佳实践,并详细分析了常见的内存错误及其解决方案。通过深入理解内存管理和故障排除技巧,开发者可以编写更健壮的程序。 ... [详细]
  • 深入探讨智能布线管理系统的电子配线架应用
    本文详细介绍了电子配线架智能布线系统的核心优势,包括实时监测网络连接、提高操作准确性、图形化显示连接架构、自动识别网络拓扑、增强安全性等功能。该系统不仅提升了网络管理的效率和准确性,还为资产管理、报告生成以及与其他智能系统的集成提供了强大的支持。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • 探讨架构师在项目中应如何平衡对产品的关注和对团队成员的关注,以实现最佳的开发成果。 ... [详细]
  • 本文深入探讨了 Redis 的两种持久化方式——RDB 快照和 AOF 日志。详细介绍了它们的工作原理、配置方法以及各自的优缺点,帮助读者根据具体需求选择合适的持久化方案。 ... [详细]
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社区 版权所有