用户权限和管理需要实现几个功能1、获取用户信息(用户注册、直接获取登录用户等) 2、分配权限(按照规则分配用户权限,及根据一定条件修改权限等) 3、验证过程(使用建立的用户信息库进行验证和界面布局等)一个简单的用户登录验证的例子 简单包含了用户管理的一些概念Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As LongType UserInfo '登录用户信息自定义变量 UserID As String UserName As String UserJob As String End Type Public LovelyUser As UserInfo '记录登录用户名的信息,用于显示和验证权限 '*************************************************************************************** '功 能: 获取登录用户信息 '编写人: '参 数: '返回值: 自定义用户变量,存储用户信息 '*************************************************************************************** Function GetUser() As UserInfo Dim usr As String Dim aa As String Dim Temp As String Dim AdoRs As New ADODB.Recordset Dim strSQl As String
'获得权限表中信息 strSQl = "select * from persons where UserID='" & Temp & "'" AdoRs.Open strSQl, gadoConn, adOpenKeyset, adLockReadOnly If Not AdoRs.EOF And Not AdoRs.BOF Then GetUser.UserID = Trim(Temp) GetUser.UserName = Trim(AdoRs!UserName) GetUser.UserJob = Trim(AdoRs!UserJob) Else MsgBox "您没有使用此系统的权限!", vbOKOnly, "警告!" GetUser.UserID = Temp GetUser.UserName = "NoRight" Exit Function End If End Function
我这样建可以吗?另外为什么mysql没有布尔类型? mysql> show columns from privilege; +----------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+-------------+------+-----+---------+-------+ | UserID | varchar(20) | YES | | NULL | | | Privilege | int(4) | YES | | NULL | | | Status | int(4) | YES | | NULL | | | Privilege_info | varchar(20) | YES | | NULL | | +----------------+-------------+------+-----+---------+-------+ 4 rows in set (0.02 sec)mysql> show columns from usermng; +--------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+-------+ | UserID | varchar(20) | YES | | NULL | | | Chinese_Name | varchar(20) | YES | | NULL | | | Password | varchar(10) | YES | | NULL | | | Department | varchar(20) | YES | | NULL | | | UserInfo | varchar(20) | YES | | NULL | | +--------------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)谢谢回复!
2、分配权限(按照规则分配用户权限,及根据一定条件修改权限等)
3、验证过程(使用建立的用户信息库进行验证和界面布局等)一个简单的用户登录验证的例子
简单包含了用户管理的一些概念Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As LongType UserInfo '登录用户信息自定义变量
UserID As String
UserName As String
UserJob As String
End Type
Public LovelyUser As UserInfo '记录登录用户名的信息,用于显示和验证权限
'***************************************************************************************
'功 能: 获取登录用户信息
'编写人:
'参 数:
'返回值: 自定义用户变量,存储用户信息
'***************************************************************************************
Function GetUser() As UserInfo
Dim usr As String
Dim aa As String
Dim Temp As String
Dim AdoRs As New ADODB.Recordset
Dim strSQl As String
'获得登录域用户名
usr = Space(256)
aa = GetUserName(usr, 256)
Temp = Left(RTrim(usr), Len(RTrim(usr)) - 1)
'获得权限表中信息
strSQl = "select * from persons where UserID='" & Temp & "'"
AdoRs.Open strSQl, gadoConn, adOpenKeyset, adLockReadOnly
If Not AdoRs.EOF And Not AdoRs.BOF Then
GetUser.UserID = Trim(Temp)
GetUser.UserName = Trim(AdoRs!UserName)
GetUser.UserJob = Trim(AdoRs!UserJob)
Else
MsgBox "您没有使用此系统的权限!", vbOKOnly, "警告!"
GetUser.UserID = Temp
GetUser.UserName = "NoRight"
Exit Function
End If
End Function
mysql> show columns from privilege;
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| UserID | varchar(20) | YES | | NULL | |
| Privilege | int(4) | YES | | NULL | |
| Status | int(4) | YES | | NULL | |
| Privilege_info | varchar(20) | YES | | NULL | |
+----------------+-------------+------+-----+---------+-------+
4 rows in set (0.02 sec)mysql> show columns from usermng;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| UserID | varchar(20) | YES | | NULL | |
| Chinese_Name | varchar(20) | YES | | NULL | |
| Password | varchar(10) | YES | | NULL | |
| Department | varchar(20) | YES | | NULL | |
| UserInfo | varchar(20) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)谢谢回复!