一、前言

AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台。用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的。

AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC、ORM、SOA、分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的实体、数据模型设计生成工具、代码生成工具,用于帮助中小软件开发商快速成长。

AgileEAS.NET平台充分把握目前软件行业快速发展的新趋势,基于敏捷并行开发、快速适应市场这样淳朴的软件工程实践,采用业界广泛使用的Microsoft .Net构件(组件)开发技术实践了这种开发思想,帮助软件企业实现“敏捷变化、快速适合”的目标,从而帮助软件企业在激烈的市场竞争中赢得先机并获得更高的回报。

二、关于按钮级权限

在AgileEAS.NET SOA5.0版本之中,AgileEAS.NET SOA平台仅提供了基于模块的权限管理体系,也没有提供按钮/子功能级别的权限控制体系。

有很多很多的使用者基于AgileEAS.NET SOA 中间件平台进行应用开发的过程之中都提到这个问题,我们也给大家提供了一些解决思路和方案,但是一直没有在平台之中集成和实现一套标准的按钮/子功能权限管理功能和标准的API。

在AgileEAS.NET SOA5.0版本发布之前我们实现一套按钮/子功能级别的权限控制体系,提供了一个用于实现按钮级权限管理功能的管理模块及一给API接口。

三、按钮级权限管理

在AgileEAS.NET SOA5.0版本之中,AgileEAS.NET SOA平台仅提供了基于模块的权限管理体系,也没有提供按钮/子功能级别的权限控制体系。

使用管理员登录AgileEAS.NET SOA平台WinClient容器,就会在系统管理导航组之中看到有一个“函数管理”模块:

列表之中是所有的按钮权限项目,存储在模块信息表之中,如果需要增加一个新的“按钮/函数/权限项目”,使用添加功能,打开添加界面:

以上界面的操作会增加一个名称为“药品字典打印”字的按钮级别的权限,其权限ID为“6a185217-34de-4fe7-9ed5-c2cc49ba432c”。

双击选中的按钮级别的权限项,会打开“函数属性”对话框可以针对此函数/权限项进行授权:

授权方式同模块级权限一模一样,你也可以通过账号管理和角色管理模块进行授权。

四、API及如何使用

光提供一个管理功能还是不够的,还必须要提供一组API以供开发人员使用,AgileEAS.NET SOA中间件平台在应用程序对象(EAS.Application类的单例对象EAS.Application.Instance)上定义一个验证权限的API:

   1: //
   2: // 摘要:
   3: //     验证权限,验证当前系统登录人员是否具有某个构件的访问权限。
   4: //
   5: // 参数:
   6: //   component:
   7: //     构件Guid。
   8: //
   9: // 返回结果:
  10: //     验证通过返回True,否则返回False。
  11: bool Demand(Guid component);

Demand方法需要传入按钮级别权限项/函数的定义ID,其他由交由平台完成。

接下来我们在DrugShop案例案例之中的药品字典模块之中增加对“打印”按钮的权限控制,Visual Studio打开DrugShop解决方案打开“药品字典”模块插件的代码文件DrugDictList.cs,修改打印按钮的事件如下:

   1: private void tsbPrint_Click(object sender, EventArgs e)
   2: {
   3:     //验证按钮级别权限。
   4:     if (!EAS.Application.Instance.Demand(new Guid("6a185217-34de-4fe7-9ed5-c2cc49ba432c"))) 
   5:         return;
   6:  
   7:     if (this.dictList != null)
   8:     {
   9:         EAS.GReport.Controls.PrintViewDialog ViewDialog = new EAS.GReport.Controls.PrintViewDialog();
  10:         ViewDialog.ReportID = new Guid("F29C4C91-0791-4116-BE26-3A2A88F30A2A");
  11:         ViewDialog.DataObject = this.dictList;
  12:         ViewDialog.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  13:         ViewDialog.WindowState = System.Windows.Forms.FormWindowState.Maximized;
  14:         ViewDialog.ShowDialog();
  15:     }
  16: }

这样就完成了对本权限项的调用验证。

四、执行验证

我们编译并且启动DrugShop.Main.exe,使用0001密码sa登录,打开“药品字典”模块,查询数据之后点击“打印”按钮:

0001不具有这个按钮级权限项的权限,所以会提供没有权限,我们换0002登录并且执行同样的操作:

OK,可以正常使用了,按钮级权限演示完成。

DrugShop案例之中同步提供了本例子的权限定义和调用代码,请大家通过AgileEAS.NET SOA中间件官方网站的最新下载栏目进行下载。

五、联系我们

为完善、改进和推广AgileEAS.NET而成立了敏捷软件工程实验室,是一家研究、推广和发展新技术,并致力于提供具有自主知识产权的业务基础平台软件,以及基于业务基础平台开发的管理软件的专业软件提供商。主要业务是为客户提供软件企业研发管理解决方案、企业管理软件开发,以及相关的技术支持,管理及技术咨询与培训业务。

AgileEAS.NET SOA中间件平台自2004年秋呱呱落地一来,我就一直在逐步完善和改进,也被应用于保险、医疗、电子商务、房地产、铁路、教育等多个应用,但一直都是以我个人在推广,2010年因为我辞职休息,我就想到把AgileEAS.NET推向市场,让更多的人使用。

我的技术团队成员都是合作多年的老朋友,因为这个平台是免费的,所以也没有什么收入,都是由程序员的那种理想与信念坚持,在此我感谢一起奋斗的朋友。

团队网站:http://www.agilelab.cn,

AgileEAS.NET网站:http://www.smarteas.net

官方博客:http://eastjade.cnblogs.com

QQ:47920381,AgileEAS.NET

QQ群:113723486(AgileEAS SOA 平台)/上限1000人

199463175(AgileEAS SOA 交流)/上限1000人

212867943(AgileEAS.NET研究)/上限500人

147168308(AgileEAS.NET应用)/上限500人

172060626(深度AgileEAS.NET平台)/上限500人

116773358(AgileEAS.NET 平台)/上限500人

125643764(AgileEAS.NET探讨)/上限500人

193486983(AgileEAS.NET 平台)/上限500人

邮件:james@agilelab.cn,mail.james@qq.com,

电话:18629261335。

WinForm/MIS项目开发之中按钮级权限实践相关推荐

  1. koa mysql 按钮级权限_Vue 指令实现按钮级别权限管理功能

    在项目中经常有需求要根据用户的权限对界面上的元素进行控制,这里介绍了一直简单的实现,仅供参考. 当前用户的权限列表储存在 store 里,也可以是其他地方. 指令 // src/directives/ ...

  2. Vue自定义指令实现按钮级权限

    在很多后台管理系统中,常常需要做按钮权限控制. 当然我们可以使用v-if来实现,不过这样做,每个页面都要获取一次权限信息,代码往往很冗余. 接下来我们将封装自定义指令,来实现按钮级的权限控制. 一.先 ...

  3. Vue 新手学习笔记:vue-element-admin 之按钮级权限管控

    随着软件的发展,网站从最初的满足用户业务需求到提升用户.就比如一个按钮只要求权限方面的管控我们可以通过 shiro,注解等方式来实现,但是页面上用户点击后没反应或者点击后弹框没权限,这显然不是一个好的 ...

  4. vue项目开发心得和一些最佳实践

    博客更新地址啦-,欢迎访问:https://jerryyuanj.github.io/blog 使用vue一年多了,做了一个javaee的项目(全栈,前端使用的mvvm框架vue),三个移动端项目,其 ...

  5. springboot 按钮权限验证_SpringBoot中实现Shiro控制ThymeLeaf界面按钮级权限控制

    需求简述 在业绩核算系统中,我们使用了SpringBoot作为项目的整体架构,使用ThymeLeaf作为前端界面框架,使用Shiro作为我们的权限控制框架,Shiro作为轻量级的权限框架,使用起来非常 ...

  6. 路由到另外一个页面_一个简单的Vue按钮级权限方案

    在年初开发一个中后台管理系统,功能涉及到了各个部门(产品.客服.市场等等),在开始的版本中,我和后端配合使用了花裤衩手摸手系列的权限方案,前期非常nice,但是慢慢的随着功能增多.业务越来越复杂,就变 ...

  7. 为什么函数lamda显示权限不足_一个简单的Vue按钮级权限方案

    在年初开发一个中后台管理系统,功能涉及到了各个部门(产品.客服.市场等等),在开始的版本中,我和后端配合使用了花裤衩手摸手系列的权限方案,前期非常nice,但是慢慢的随着功能增多.业务越来越复杂,就变 ...

  8. 前端权限设计实现——按钮级

    一直对权限设计很感兴趣,以前写后端代码时,搞过权限设计,挺有意思的,但是前端按钮级别的权限设计了解过,却还没具体实现过,最近项目打算对权限进行细分,先研究下前端的权限吧. 权限设计的出发点在于,让不同 ...

  9. 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享

    使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery ...

最新文章

  1. 2018-3-9 论文(网络评论中非结构化信息表示与研究)笔记---模糊认知图的形式化表示
  2. python可以从事什么工作-对话极客晨星:现在学Python 长大可以从事什么工作?...
  3. ElementUI 添加修改提示成功后 如何刷新表格数据展示
  4. redis 基础操作学习
  5. 前端进阶(8) - 前端开发需要了解的工具集合:webpack, eslint, prettier, ...
  6. 使用fuse.js_如何使用Fuse.js将搜索添加到React应用
  7. 资源放送丨《Oracle存储过程中的性能瓶颈点》PPT视频
  8. Python中出现 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13
  9. 波卡生态项目Polkalokr将在Polkastarter进行IDO
  10. 解决eclipse启动停在一个空白窗口的问题
  11. python 获取错误日志,并发送邮件
  12. 正视苦难,民族的心灵史——1942
  13. google 安裝包 android,googleplaystore安装包
  14. Redis高级项目实战,2021最新Java大厂面试真题大全
  15. Windows Server 无法启用 网络发现
  16. Word排版之页眉页脚设置
  17. matlab的解线性方程组
  18. 大牛书单 | C++ 好书推荐
  19. 小米手环8和苹果S8哪款好 小米手环8和苹果S8区别
  20. abap语言去除重复项怎么写

热门文章

  1. redis之父表示ARM服务器没戏
  2. UTF-8 GBK 联系和区别
  3. Netdata---Linux系统性能实时监控平台部署记录
  4. 「PSR 规范」PSR-2 编码风格规范
  5. Hadoop学习13--zookeeper相关
  6. FINDCONTROL的详细介绍
  7. 软件开发过程中的回顾
  8. Page.IsValid的问题
  9. SQL Server 2005 For XML[学习]
  10. RED HAT LINUX 9.0的安装文本模式(2)