`
happmaoo
  • 浏览: 4473685 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Dictionary在权限管理中的应用

阅读更多

最近帮朋友做了一个自认为比较成功的日常办公管理项目,全部程序用ASP编写,考虑到以前做的权限控制实在不是很成功,这次重新设计了一下权限控制部分,所有权限控制的验证角色的相关函式、初始化角色函式均放在一个页面popedom.asp中。

由于用户的权限角色是存储在数据库用户权限表中,可以感知一下权限表的内容:user -> roles,现在,我的解决办法是将user -> roles存放在Dictionary中,并作为全局变量(这里的全局变量的意思是page级的,如果作为Application级的全局变量,应该性能会更好,但如果过多使用会有负面效应,这将降低Web服务器的性能)。

这里用个实际的用户、角色说明一下:

Jane 是属于多个项目组的成员:项目a, 项目b, 项目c

John属于项目b和c

Emily属于项目a

==========================

1.将查询用户角色与角色验证分离:

通过RecordSet查询,全部用户及角色都被存放在dic中,其对应关系是user -> roles,如果要验证某一个或多个用户的角色,只需要操作dic就可以,这样分离的好处不言而喻:有助于代码的可读性和维护性。

2.避免多次查询和验证:
你现在想知道John是否是项目b的成员,ok!你用RecordSet权限表中查询John的权限,在另一个地方,你又想知道Jane和Emily是否是项目a的成员,你又用RecordSet查询了一次权限表,有问题啊!谁会这么去做呢?多次操作RecordSet查询权限显然是不明智的,将全部用户及角色保存在dic中,需要查询某个人的角色时,只需要从dic中取得就可以。

简要地说明了这两点,只是实际开发中的一点理解,有什么问题请与我交流:yjgx@sina.com

分享到:
评论

相关推荐

    teradata Data Dictionary

    #### 六、Teradata Data Dictionary 在企业中的应用 在实际应用中,Teradata Data Dictionary 的作用至关重要。例如,在大型企业环境中,它不仅帮助数据库管理员更好地管理复杂的数据库结构,还能协助企业实现高效的...

    Oracle Dictionary常用方法封装

    在实际应用中,"ZL_Dictionary_Service"包不仅可以用于数据库管理员进行日常维护,还可以作为应用程序的基础组件,为业务逻辑提供元数据支持。例如,当需要动态生成报表或者在用户界面显示数据库对象信息时,可以...

    数据字典(Data dictionary)

    在数据库管理系统(DBMS)中,数据字典扮演着核心角色,它维护着数据库的结构信息以及相关的元数据。根据是否能够自动更新,数据字典可以分为两大类: 1. **主动数据字典(Active Data Dictionary)**:这种类型的...

    ABAP报表中加入权限判断

    在实际应用中,权限判断往往与角色分配相结合。系统管理员会根据用户的角色为其分配不同的授权,每个角色对应一组授权对象和权限值。 总的来说,ABAP报表中的权限判断涉及到对用户操作的控制,确保数据安全。通过...

    DATA_DICTIONARY.zip

    在实际应用中,Oracle数据字典对于数据库管理员(DBA)和开发人员来说,具有极大的价值。例如,可以通过查询数据字典来诊断性能问题,检查权限分配,监控数据库使用情况,以及进行数据库设计和迁移。"DATA_...

    Database Dictionary_android源码_英语词典_

    总之,"Database Dictionary"项目为学习和理解Android应用开发提供了丰富的实例,特别是对于那些想要深入理解Java编程在移动平台应用的人。通过研究源码,开发者可以学习到Android应用的基本架构、数据管理、UI设计...

    C5英文词典的中文语言: Nokia_Mobile_Dictionary_zh.SIS

    在安装过程中,系统会提示相关的权限请求,用户按照提示操作即可完成安装。安装完成后,词典应用将自动更新为中文界面。 5. **兼容性和安全性**: 在安装任何第三方SIS文件之前,确保文件来源可靠,避免下载带有...

    Java类项目harmonious_dictionary-master.zip

    《Java后台管理与应用开发实例:harmonious_dictionary-master.zip》 在IT行业中,Java作为一门广泛应用的编程语言,尤其在后台系统开发中占据着重要地位。本实例代码"harmonious_dictionary-master.zip"是一个Java...

    C#.NET开发的学生管理系统

    这些功能的实现离不开C#的数据结构和算法,如使用List存储学生列表,Dictionary, TValue>管理学生与成绩的关系,以及可能运用到的排序和查找算法。 总的来说,C#.NET开发的学生管理系统结合了强大的编程语言特性和...

    WPF 管理系统源码分享.7z

    分析这个源码,开发者可能在实践中运用了以上一种或多种技术,通过对这些知识点的深入研究,可以帮助我们理解和学习如何创建一个完整的WPF管理应用。同时,对于初学者来说,这是一个很好的实践和学习资源,能够直观...

    c#做的简单图书管理系统

    总的来说,这个C#实现的简易图书管理系统展示了面向对象编程、数据库操作、集合与泛型应用、权限管理等多个核心IT知识点。通过这个项目,开发者可以深入理解C#语言特性,提升实际开发能力。同时,这样的系统也是学习...

    ios对象dictionary互转库

    在iOS开发中,数据转换是常见的操作,尤其是当我们在处理用户界面与模型对象之间的交互时。`NSDictionary`作为Objective-C中的一个核心数据结构,经常被用于存储键值对数据。然而,有时我们需要将`NSDictionary`对象...

    Introduction_data_dictionary.rar_oracle

    数据字典在数据库管理系统中扮演着至关重要的角色,特别是在Oracle这样的大型企业级数据库系统中。Oracle的数据字典是系统提供的一系列预定义的表和视图,用于存储关于数据库对象、用户权限、系统配置等信息。它为...

    winform调用webapi获取Token授权案例,webapi使用oauth2.0权限控制

    本案例主要涉及如何在WinForm应用中通过HttpClient调用使用OAuth2.0授权的WebAPI接口。OAuth2.0是一种广泛采用的授权框架,用于安全地授予第三方应用访问用户资源的权限,而无需共享用户凭据。 首先,让我们深入...

    学生信息管理系统设计与实现

    权限管理可以确保只有授权的用户才能访问或修改学生信息,这可以通过角色和权限分配实现。错误处理则能确保在出现异常时,系统能够给出友好提示,而不是直接崩溃,这通常通过try-catch块来实现。 在实现过程中,...

    Commands for Querying Oracle Data Dictionary Tables

    在实际操作中,建议为不同的应用或部门创建多个数据表空间(例如`PAYROLL_DATA`),并指定这些特定的表空间来存储相关的数据表,而不是将所有表都放在`USERS`表空间中。这样做有助于优化性能,便于管理和维护,并...

    WindowsAD DS(域控制器)的基本管理

    在组织单位中,我们可以将计算机和用户添加到相应的组织单位中,例如点击根域下 Computers 文件夹,选择计算机,拖动至组织单位中的软件事业部计算机中,即可将计算机添加到软件事业部计算机中。 组织单位的删除...

    SAP的PA教材BC430 ABAP Dictionary

    ABAP字典是SAP开发环境中的一个重要组成部分,它允许开发人员定义和管理应用的数据结构。在BC430课程中,你将学习如何创建和维护以下几种关键的数据对象: 1. **数据元素(Data Elements)**:这是构成所有数据库表...

    SAP 权限设定培训资料

    在SAP系统中,权限管理是一项至关重要的工作,它确保了数据的安全性和系统的稳定运行。本培训资料旨在为用户提供一个全面而深入的理解,帮助他们掌握如何在SAP R/3系统中进行权限设置。 #### 二、关于此指南 本...

    android dictionary

    5. 授权管理:定期检查API密钥的有效性,防止被滥用。 6. UI设计:设计简洁明了的界面,方便用户输入和查看翻译结果,可以加入语音识别和朗读功能增加实用性。 综上所述,实现“安卓词典”应用需要掌握Android网络...

Global site tag (gtag.js) - Google Analytics