基于.NET的角色访问控制在继电保护信息系统中的应用

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:edison2920
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:根据继电保护信息系统的特点,本文提出了基于.NET的角色访问控制分布式系统模型架构,着重讨论了其中的数据库设计、身份验证加密票证策略、角色权限检查的具体实现方法、XML Web Service 的应用及IIS、ASP.NET的具体配置方案,实现了基于Web服务的安全、通用和高效的访问控制,并给出了应用实例。
  关键词:基于角色的访问控制;.NET框架;XML Web 服务;继电保护;分布式应用
  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 20-0000-02
  1 引言
  随着国家信息化水平的提升,作为国家重要产业的电力系统的信息管理也逐渐升级,系统的信息安全至关重要。所以安全有效地实现访问控制信息系统,就成为了电力信息安全的重要保重之一。
  访问控制技术RBAC (Role Based Access Control)是一种基于角色的技术。在目前国际国内已经成为了主流技术之一,RBAC的优点非常明显,它不仅能够将授权管理的复杂性大大降低,而且能够为管理员实现复杂安全策略营造一个较好的环境,所以在信息系统的身份验证和授权[1]得到了比较普遍的应用。
  2 基于角色的访问控制的基本概念
  所谓访问控制就限制约束信息系统资源使用,用来决定访问主体对客体的访问是否被授权,是否合法,所以对主体合法性的检测就非常总要了。没有通过验证授权的用户,是不能被授权访问特定的系统资源的。
  在实际应用当中,我们经常用到的访问控制模型主要有三种:自主访问控制模型DAC (Discretionary Access Control),强访问控制模型MAC (Mandatory Access Control)及基于角色的访问控制模型RBAC。
  3 基于.NET的角色访问控制系统
  Visual Studio.Net是微软最新的集成开发环境,Visual Studio.Net与Xml Web Service结合起来使用,不仅通用性高,而且进行角色访问和控制非常安全,也可以进行分布式管理,所以优势是非常明显的。
  3.1 基于角色的访问控制系统的设计
  用户信息必须加密才能进行网络传输,加密之后的信息首先传送到Web服务器,然后是IIS (Internet Information Service)服务器对加密信息进行身份授权,之后ASP.NET对IIS授权的身份进行验证,如果通过验证,则可以配置为Windows身份验证的SQL Server 2005,从而获得该用户的权限及角色。
  通过这样的访问控制模式,系统的通用型可以得到替身,系统的开放性也可以大大加强,而且能够很好的满足安全性的要求,一般情况下,我们将其用在对安全需求较高的地方。
  3.1.1 数据库的设计
  在继电保护信息系统中,信息都是存储在数据库当中的,其中包括了用户、角色和权限等,所有的数据都包含在数据表当中,本系统当中,应该设置至少五张数据表:User表、Roles表、Permissions表、UsersRoles表和RolesPermission表。User表、Roles表之间的关系可以通过UsersRoles表来建立,Permissions表、Roles表的关系通过RolesPermission表来建立。基于关系模型的数据表设计,使得角色的分配更加灵活,还可以为每个角色分配更多的访问权限并可根据需要增加新角色,具有很好的通用性和可扩展性。其结构及表之间的引用关系如图1所示:
  图1. 用于身份验证和授权的数据库模式
  3.1.2 身份验证票证策略
  当用户通过数据库身份验证后,就能灵活地利用SQL Server 2005建立的数据表及其关系查询各自的角色,并根据角色获得授权。这种方式进行数据查询和授权会使得SQL Server 2005数据库的访问变得更加频繁,大量的数据访问会降低整个系统性能。
  .NET的窗体身份验证技术正好为我们提过了一个解决问题的方式,对通过验证的用户,根据其用户名和权限生成当前用户身份验证票证(Ticket)。.Net为该票证的生成及存储提供的方法为:
  FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(…);
  ……
  Context.Cache.Insert(…);
  3.1.3 角色权限的检查
  用户的权限是根据身份进行分配的,在操作的过程中,必须要根据用户的角色来进行权限检查,用来保证用户操作权限的合法性。在.Net中,主要有三种检查方法:
  (1)直接检查角色名
  (2)强制性角色检查
  (3)声明式检查
  在大多数情况下,我们使用第三种方法来进行权限检查。
  3.1.4 Xml Web Service的应用
  随着Xml Web Service技术的出现,分布式应用获得了很大的发展,Xml Web Service技术中采用SOAP(Simple Object Access Protocol)技术,通过各种类型的网络被其他平台或应用程序访问的一下分布式的业务逻辑组件。
  想要高效低高度复用性的控制访问模块,我们必须使用Web 服务。以下是实现管理员权限的客户分配,用来修改用户信息。:
  [WebMethod]
  [PrincipalPermissionAttribute(SecurityAction.Demand, Role = “管理员”)]   public UsersDataSet UpdateUsers(UsersDataSet dsUser)
  { …… }
  3.1.5 IIS及ASP.NET的配置
  IIS(Internet Information Service)是客户机能够访问Web服务的基础,其安全配置奠定了整个系统的安全基础。
  ASP.NET的配置是另一个重要的配置环节,在Web.config文件中将身份验证配置为窗体验证:
  
  同时,在该配置文件中禁止匿名访问, 即:
  
  
  4 结论
  基于角色的访问控制是目前主流的用户权限管理方式,应用.NET框架各种先进的新功能,结合基于角色的访问控制基本架构,通过对各应用配置文件的设置,可以高效地实现较高的安全性能、管理用户灵活、通用性强、扩展方便简单的控制访问管理,在跨域式发展的电力系统信息化管理中,具有较好的应用前景。
  参考文献:
  [1]杨洋,丁仁杰,闵勇(Yang yang,Deng renjie, Min Yong),基于受控对象得访问控制模型(Object-Based Access Control Model)[J].电力系统自动化(Automation of Electric Power Systems ), 2003,27(7),36-40.
  [2]曾高登..NET系统架构与开发[M].北京:电子工业出版社,2003.
  [3]叶锡君,许勇,吴国新(Ye Xijun, Xu Yong, Wu Guoxin),基于角色的访问控制在Web中的实现技术(Implementation Technique Based on RBAC Used in Web)[J].计算机工程(Computer Engineering), 2002,28(1),167-169.
  [4]王超,边小凡.基于角色访问控制机制在MIS权限管理中的应用[J].微机发展,2004,14(5),50-52.
  [5]微软公司[美].ASP.NET安全应用程序开发[M].北京:清华大学出版社,2003.
其他文献
学术信息是人们在科学实践与研究过程中对自然界和人类社会的认识,凝结了人类知识的精华。随着网络技术突飞猛进的发展,越来越多的学术信息采用了电子文献的形式被载入互联网中
玛夏有两个孩子,她讲了一段发人深省的故事:
《语文课程标准》告诉我们:语文教学过程是学生积极主动参与探究的过程,要重视情感态度价值观的正确导向,使语文课堂开放而有活力。本人通过听课交流发现:在实施新课程过程中仍
糖皮质激素:临床观察表明,强的松由传统的一日3次给药改为每日晨7~8时一次给药,可提高疗效,减少不良反应,并且长期用药者停药时亦较少发生停药危象。地塞米松、倍他米松等作用时间
疾病的初期往往不易被人们察觉,以致错过早期诊治的机会而酿成大祸。倘若每日能抽出点时间进行适当的自我按摩,就可以调节机体的功能,达到增强体质、疏通经络、防病抗衰、延年益
论述了如何对CASS系统JCODE.DEF文件中的CASS简码进行编辑,使之同时满足CASS软件编码规则及用户外业生产需求。介绍了在野外数据采集时,如何利用自编代码进行测图;在室内地形图编辑时,如何把外业观测数据文件转换为CASS系统定义的简码识别文件,从而利用简码识别功能自动成图。
手机信令大数据为城乡规划的定量化编制和评价提供了新机遇。本文从示范设计的背景、思路、目标以及与云平台融合等方面,详细介绍了基于智慧广州时空信息云平台的城乡规划辅助决策系统设计、功能模块及应用等。
计算机辅助教学(CAI)作为一种现代化的教学手段,已经越来越多的被大专院校各个专业所采用.针对当前体育院系田径教学中的现状,本文就CAI技术在田径教学中的运用、意义作了明
中成药中有许多防治暑证之药,以下就按类介绍一些常用的祛暑中成药,以便人们根据情况对症选用。
正常人餐后2小时血糖应小于7.8毫摩尔/升.