自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深入討論VB.NET權(quán)限控制

開(kāi)發(fā) 后端
VB.NET權(quán)限控制可以通過(guò)各種方式來(lái)進(jìn)行設(shè)置,這一方面的操作為我們的程序開(kāi)發(fā)帶來(lái)了極大的安全性。下面就一起來(lái)看看一段代碼示例,方便大家理解。

由微軟推出的一款面向?qū)ο蟮拈_(kāi)發(fā)語(yǔ)言VB.NET在開(kāi)發(fā)領(lǐng)域中占據(jù)著重要的作用。其中有很多內(nèi)容值得我們?nèi)ド钊胙芯俊B.NET權(quán)限控制是一個(gè)值得深入討論的問(wèn)題,我采用的方式是用FORM認(rèn)證的方法,具體的用戶(hù)信息,權(quán)限是放在數(shù)據(jù)庫(kù)中,并沒(méi)有集成WINDOWS的域認(rèn)證,實(shí)現(xiàn)的時(shí)候用專(zhuān)門(mén)的層來(lái)執(zhí)行權(quán)限判斷,利用GeneralPrincipal 和GeneralIdentity對(duì)象 。

VB.NET權(quán)限控制代碼片段如下:

  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 

這樣一來(lái)當(dāng)界面變成WINDOWS的FORM是就不需要改動(dòng)很多代碼了,同時(shí)為了解決將權(quán)限放到SESSION中引起的延時(shí)問(wèn)題,我將用戶(hù)的VB.NET權(quán)限控制信息放在服務(wù)端的XML文件中,然后直接中XML文件中獲得數(shù)據(jù),任何對(duì)用戶(hù)信息的修改都將改變相應(yīng)的XML文件,這樣的效率高于從數(shù)據(jù)庫(kù)獲得。

當(dāng)然在實(shí)際開(kāi)發(fā)中還會(huì)碰到很多其他問(wèn)題,如報(bào)表,打印,并發(fā)性等。

【編輯推薦】

  1. VB.NET異常處理突破局限性
  2. VB.NET事務(wù)處理手工實(shí)行方式
  3. VB.NET業(yè)務(wù)層實(shí)現(xiàn)業(yè)務(wù)與邏輯
  4. VB.NET數(shù)據(jù)實(shí)體層實(shí)現(xiàn)方案介紹
  5. VB.NET MDI子窗體實(shí)例化問(wèn)題解決方案
責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2009-10-29 10:45:01

VB.NET設(shè)置控件

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運(yùn)行環(huán)境

2009-10-23 10:01:28

VB.NET申明Win

2009-10-30 15:51:30

VB.NET使用缺省屬

2009-10-16 12:52:28

VB.NET簡(jiǎn)單數(shù)據(jù)類(lèi)

2009-11-03 13:33:39

VB.NET對(duì)象列表

2009-10-14 14:19:00

VB.NET創(chuàng)建表示層

2009-10-29 16:23:42

VB.NET實(shí)現(xiàn)IEn

2009-11-02 14:55:52

VB.NET Obje

2009-10-28 10:15:48

VB.NET框架類(lèi)庫(kù)

2009-10-12 16:51:28

VB.NET使用Ora

2009-10-20 09:28:18

VB.NET Prin

2009-10-26 12:39:09

VB.NET通信程序

2009-10-30 16:31:55

VB.NET重載方法

2010-01-15 18:56:58

VB.NET Fiel

2009-10-21 11:07:32

VB.NET類(lèi)庫(kù)

2009-10-27 13:45:32

VB.NET C#區(qū)別

2009-10-30 14:45:42

Flash控制VB.N
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)