深入讨论VB.NET权限控制

开发 后端
VB.NET权限控制可以通过各种方式来进行设置,这一方面的操作为我们的程序开发带来了极大的安全性。下面就一起来看看一段代码示例,方便大家理解。

由微软推出的一款面向对象的开发语言VB.NET在开发领域中占据着重要的作用。其中有很多内容值得我们去深入研究。VB.NET权限控制是一个值得深入讨论的问题,我采用的方式是用FORM认证的方法,具体的用户信息,权限是放在数据库中,并没有集成WINDOWS的域认证,实现的时候用专门的层来执行权限判断,利用GeneralPrincipal 和GeneralIdentity对象 。

VB.NET权限控制代码片段如下:

  1. Public Function CheckRole
    (ByVal strRole As String) 
    As Boolean  
  2. Return privateUserPrincipal.
    IsInRole(strRole)  
  3. End Function  
  4. Private Sub InitPrincipal()  
  5. Try  
  6. privateUserIdentity = New 
    GenericIdentity(privateUserName)  
  7. privateUserPrincipal = New 
    GenericPrincipal(privateUserI
    dentity, privateUserRoles)  
  8. Catch e As Exception  
  9. Throw New Exception("an error 
    occurred setting credentials")  
  10. End Try  
  11. End Sub  
  12. Private Sub SavePrincipal()  
  13. Try  
  14. If Not IsNothing(_context) Then  
  15. context.Session("UserName") = 
    privateUserIdentity.Name  
  16. context.Session("Roles") = 
    privateUserRoles  
  17. context.User = 
    privateUserPrincipal 
  18. End If  
  19. Catch e As Exception  
  20. Throw e  
  21. End Try  
  22. End Sub 

这样一来当界面变成WINDOWS的FORM是就不需要改动很多代码了,同时为了解决将权限放到SESSION中引起的延时问题,我将用户的VB.NET权限控制信息放在服务端的XML文件中,然后直接中XML文件中获得数据,任何对用户信息的修改都将改变相应的XML文件,这样的效率高于从数据库获得。

当然在实际开发中还会碰到很多其他问题,如报表,打印,并发性等。

【编辑推荐】

  1. VB.NET异常处理突破局限性
  2. VB.NET事务处理手工实行方式
  3. VB.NET业务层实现业务与逻辑
  4. VB.NET数据实体层实现方案介绍
  5. VB.NET MDI子窗体实例化问题解决方案
责任编辑:曹凯 来源: 博客园
相关推荐

2009-10-29 10:45:01

VB.NET设置控件

2009-10-26 15:26:37

VB.NET属性

2009-10-20 10:29:30

VB.NET使用Sor

2009-10-21 10:05:30

VB.NET运行环境

2009-10-23 10:01:28

VB.NET申明Win

2009-10-16 12:52:28

VB.NET简单数据类

2009-10-30 15:51:30

VB.NET使用缺省属

2009-10-29 16:23:42

VB.NET实现IEn

2009-10-28 10:15:48

VB.NET框架类库

2009-10-12 16:51:28

VB.NET使用Ora

2009-10-14 14:19:00

VB.NET创建表示层

2009-11-03 13:33:39

VB.NET对象列表

2009-11-02 14:55:52

VB.NET Obje

2009-10-20 09:28:18

VB.NET Prin

2010-01-15 18:56:58

VB.NET Fiel

2009-10-30 16:31:55

VB.NET重载方法

2009-10-26 12:39:09

VB.NET通信程序

2009-10-30 14:45:42

Flash控制VB.N

2009-10-27 13:45:32

VB.NET C#区别

2009-10-21 11:07:32

VB.NET类库
点赞
收藏

51CTO技术栈公众号