2. เขียน Class 2 Class โดย Impliment Interface IIdentity, IPrincipal
Code (VB.NET)
Public Class MyPrincipal
Implements System.Security.Principal.IPrincipal
Dim _objIden As MyIdentity
Public ReadOnly Property Identity As System.Security.Principal.IIdentity Implements System.Security.Principal.IPrincipal.Identity
Get
Return Me._objIden
End Get
End Property
Public Function IsInRole(ByVal role As String) As Boolean Implements System.Security.Principal.IPrincipal.IsInRole
If Me._objIden.IsAuthenticated Then
If role = "Administrators" Then Return True
End If
Return False
End Function
Public Sub New()
Me._objIden = New MyIdentity()
End Sub
End Class
Public Class MyIdentity
Implements System.Security.Principal.IIdentity
Private _UserName As String
Public Function Login(ByVal UserName As String, ByVal pwd As String) As Boolean
If UserName = "Admin" And pwd = "hello" Then
Me._UserName = UserName
Return True
Else
Return False
End If
End Function
Public ReadOnly Property AuthenticationType As String Implements System.Security.Principal.IIdentity.AuthenticationType
Get
Return "MyType"
End Get
End Property
Public ReadOnly Property IsAuthenticated As Boolean Implements System.Security.Principal.IIdentity.IsAuthenticated
Get
If Me._UserName <> "" Then
Return True
Else
Return False
End If
End Get
End Property
Public ReadOnly Property Name As String Implements System.Security.Principal.IIdentity.Name
Get
Return Me._UserName
End Get
End Property
End Class
3. เขียน Class เสร็จก็นำไปใช้งาน Code (VB.NET)
Imports System.Windows.Forms
Public Class MDIParent1
Private Sub MDIParent1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
My.User.CurrentPrincipal = New MyPrincipal
CType(My.User.CurrentPrincipal.Identity, MyIdentity).Login("Admin", "hello")
Dim st As String = ""
st = "User Name: " & My.User.Name
st &= vbCrLf & "Is in Administrators: " & My.User.IsInRole("Administrators")
st &= vbCrLf & "Is in Lovers: " & My.User.IsInRole("Lovers")
MessageBox.Show(st)
End Sub
End Class