论文部分内容阅读
摘要:根据继电保护信息系统的特点,本文提出了基于.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.
关键词:基于角色的访问控制;.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.