⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myprincipal.vb

📁 我基于.netframwork1.0开发的一个B/S网络店铺(会员)销售管理系统。
💻 VB
字号:
Imports System.Security.Principal
Namespace Data

    Public Interface IJmsPrincipal
        Inherits IPrincipal

        Overloads ReadOnly Property ID() As Int32
        Overloads ReadOnly Property Name() As String
        Overloads ReadOnly Property Login() As String
        Overloads ReadOnly Property Role() As String
        Overloads ReadOnly Property Shop() As String
        Overloads ReadOnly Property Shopid() As Int32
        Function IsOperator() As Boolean
        Function IsManager() As Boolean
        Function IsCopOperator() As Boolean
        Function IsCopManager() As Boolean
        Function IsShopOperator() As Boolean
        Function IsShopManager() As Boolean
        Function IsLogon() As Boolean
        Function IsAdmin() As Boolean
    End Interface

    Public Class JmsPrincipal
        Implements IJmsPrincipal

        Private _identity As IIdentity
        Private _roles As String()

        Public Sub New(ByVal identity As IIdentity, ByVal roles As String())
            _identity = identity
            _roles = Array.CreateInstance(GetType(String), roles.Length)
            roles.CopyTo(_roles, 0)
        End Sub

        Public Overridable Overloads Function IsInRole(ByVal role As String) As Boolean Implements IJmsPrincipal.IsInRole
            Return _roles(2).Equals(role)
        End Function

        Public Function Islogon() As Boolean Implements IJmsPrincipal.IsLogon
            Return (ismanager() Or IsOperator() Or isad())
        End Function

        Public Function IsOperator() As Boolean Implements IJmsPrincipal.IsOperator
            Return InStr(_roles(2), "操作员") > 0
        End Function

        Public Function ismanager() As Boolean Implements IJmsPrincipal.IsManager
            Return InStr(_roles(2), "经理") > 0
        End Function

        Public Function iscm() As Boolean Implements IJmsPrincipal.IsCopManager
            Return _roles(2) = "总部经理"
        End Function

        Public Function isco() As Boolean Implements IJmsPrincipal.IsCopOperator
            Return _roles(2) = "总部操作员"
        End Function

        Public Function issm() As Boolean Implements IJmsPrincipal.IsShopManager
            Return _roles(2) = "店铺经理"
        End Function

        Public Function isso() As Boolean Implements IJmsPrincipal.IsShopOperator
            Return _roles(2) = "店铺操作员"
        End Function

        Public Function isad() As Boolean Implements IJmsPrincipal.IsAdmin
            Return _roles(2) = "系统管理员"
        End Function

        Overridable Overloads ReadOnly Property Identity() As IIdentity Implements IJmsPrincipal.Identity
            Get
                Return _identity
            End Get
        End Property

        Public Shared Function MakeString(ByVal OP As LogonOperator) As String
            Dim ms As String() = Array.CreateInstance(GetType(String), 6)
            ms(0) = CType(OP.ID, String)
            ms(1) = OP.Name
            ms(2) = OP.Role
            ms(3) = OP.Shop
            ms(4) = CType(OP.ShopID, String)
            ms(5) = OP.Login
            Dim s As String = Join(ms, "|")
            Return s
        End Function

        Public ReadOnly Property ID() As Int32 Implements IJmsPrincipal.ID
            Get
                Return CType(_roles(0), Int32)
            End Get
        End Property

        Public ReadOnly Property Name() As String Implements IJmsPrincipal.Name
            Get
                Return CType(_roles(1), String)
            End Get
        End Property

        Public ReadOnly Property Login() As String Implements IJmsPrincipal.Login
            Get
                Return CType(_roles(5), String)
            End Get
        End Property

        Public ReadOnly Property Role() As String Implements IJmsPrincipal.Role
            Get
                Return CType(_roles(2), String)
            End Get
        End Property

        Public ReadOnly Property Shop() As String Implements IJmsPrincipal.Shop
            Get
                Return CType(_roles(3), String)
            End Get
        End Property

        Public ReadOnly Property Shopid() As Int32 Implements IJmsPrincipal.Shopid
            Get
                Return CType(_roles(4), Int32)
            End Get
        End Property

    End Class
End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -