EnterPrise应用(5) Security Application Block应用程序块 授权处理(VB.NET)
2006-11-07 08:53
351 查看
在EnterPrise SAB应用模块中,授权部分(Authorization)的处理是个非常关键的的部分,前期的用户处理、角色处理都是在为授权处理做铺垫,在项目设计中运用最广的也是此部分,它对于用户的登陆、业务的操作权限、管理等权限起到判别、识别并授权的作用。通过授权进行深度防范是安全应用的一个重要策略。
本文主要对授权的基本操作进行一些说明。
在进行授权操作之前,要先建立授权规则。授权的要素一般包括:
I:Identities(身份)
R:Roles(角色)
Operators(关系操作符 AND OR NOT AND () )
建立规则部分请参阅TerryLee的安全应用程序块——进阶篇
/article/4584234.html
Public Function RuleOK()Function RuleOK()
'本例仅是个简单的测试
'其中用户身份以及角色可以通过Security Cache中的Token
'进行继承,而不必手写赋值
Dim identity As String = "a"
Dim role As String = "OP"
'操作标识(授权规则)
Dim rule As String = "RulePrint"
'创建授权,其中括号部分中的内容为制定的操作项目,如果不写的话为默认
Dim ruleProvider As IAuthorizationProvider = AuthorizationFactory.GetAuthorizationProvider("RuleProvider")
'取用户、角色信息
Dim principal As IPrincipal = New GenericPrincipal(New GenericIdentity(identity), New String() {role})
If (Not ruleProvider Is Nothing) Then
'进行判断
Dim authorized As Boolean = ruleProvider.Authorize(principal, rule)
If (authorized) Then
label2.Text = "okok"
Else
End If
End If
End Function
另说明,一般在做操作授权的过程中,可以通过SecurityCacheFactory和IToken来管理安全应用中的缓存,已继承IPrincipal和IIdentity。
本文主要对授权的基本操作进行一些说明。
在进行授权操作之前,要先建立授权规则。授权的要素一般包括:
I:Identities(身份)
R:Roles(角色)
Operators(关系操作符 AND OR NOT AND () )
建立规则部分请参阅TerryLee的安全应用程序块——进阶篇
/article/4584234.html
Public Function RuleOK()Function RuleOK()
'本例仅是个简单的测试
'其中用户身份以及角色可以通过Security Cache中的Token
'进行继承,而不必手写赋值
Dim identity As String = "a"
Dim role As String = "OP"
'操作标识(授权规则)
Dim rule As String = "RulePrint"
'创建授权,其中括号部分中的内容为制定的操作项目,如果不写的话为默认
Dim ruleProvider As IAuthorizationProvider = AuthorizationFactory.GetAuthorizationProvider("RuleProvider")
'取用户、角色信息
Dim principal As IPrincipal = New GenericPrincipal(New GenericIdentity(identity), New String() {role})
If (Not ruleProvider Is Nothing) Then
'进行判断
Dim authorized As Boolean = ruleProvider.Authorize(principal, rule)
If (authorized) Then
label2.Text = "okok"
Else
End If
End If
End Function
另说明,一般在做操作授权的过程中,可以通过SecurityCacheFactory和IToken来管理安全应用中的缓存,已继承IPrincipal和IIdentity。
相关文章推荐
- EnterPrise应用(4) Security Application Block应用程序块 角色处理(VB.NET)
- EnterPrise应用(3) Security Application Block应用程序块 认证处理(VB.NET)
- Unify the Role-Based Security Models for Enterprise and Application Domains with .NET
- Using the Enterprise Library Validation Application Block in ASP.NET - Part I
- 智能客户端应用学习系列:SmartClient Software factory中的Composite UI Application Block(Cab)技术了解(十):异步调用,离线处理,队列管理的关系
- 应用框架的设计与实现——.NET平台(10 授权服务.CodeAccessSecurityAttribute)
- Using the Enterprise Library Validation Application Block in ASP.NET - Part II
- NET 的数据访问应用程序块(Data Access Application Block)
- NET 的数据访问应用程序块(Data Access Application Block)
- Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block
- Enterprise Library Security Application Block
- 利用Enterprise Library中的Security Application Block来处理特殊用户权限
- 今天下载安装了Enterprise Library for .NET Framework 2.0 - January 2006,准备试试dataAccess application block
- Microsoft Enterprise Library 5.0 系列(六) Security Application Block
- Data Access Application Block for .NET
- ASP.Net中自定义Http处理及应用之HttpModule篇(转)
- HOWTO:Turn Off PDA Display while your application is running.(VB.Net/c#+.Net CF+PPC2003) from CodeProject
- vb.net 教程 5-14 图像处理之内存处理基础1
- vb.net Datagridview 下拉框应用
- vb.net 教程 2-11 错误处理