📄 role.asp
字号:
<!--#Include File = ../Include/PublicFunction.asp -->
<%
'*************************************************************
'名称:SysMgt_UsrGrp
'
'中文含义:系统用户组管理
'
'描述:该文件包含了系统用户组管理的所有维护函数
'
'*************************************************************
'
'函数定义列表:
'
'函数定义 描述
'---------------------------------------------------------------------------------------
'Function AddRole() 添加角色
'
'Function DelRole(IDs) 删除角色
'
'Function ModifyRole() 修改角色
'
'Function GetRoleList() 获取角色列表
'
'Function GetRoleInfo(ID) 取得角色详细资料
'
'Function AssignUser(RoleID,UserIDs) 为某角色分配系统用户
'
'Function AssignSysFun(UserGroupID,ModuleIDs, 为角色分配系统功能权限
' FunNames,OperateTypes)
'
'Function GetRolesUsers(UserGroupID) 获取某角色所包含的用户列表
'
'Function GetRolesFuns(UserGroupID) 获取指定角色的系统功能列表
'
'Function AddSysFun() 用户角色功能复制
'---------------------------------------------------------------------------------------
'*************************************************************
'功能:添加角色
'参数:
' 无
'返回值:Integer
'*************************************************************
Function AddRole()
Dim cmdAddUserGroup
Dim strCommand
InActive=Request.Form("INACTIVE")
if InActive<>"1" then
InActive="1"
end if
FieldList="RoleID,NAME,Description,IsActive"
ValueList=cstr(AutoGetNo("PUB_Role"))+"и"+_
Request.Form("NAME")+"и"+_
Request.Form("DESCRIPTION")+"и"+_
InActive
AddRecord "PUB_Role",FieldList,ValueList,"RoleID"
End Function
'*************************************************************
'功能:删除角色
'参数:
' IDs;String;角色唯一代码串
'返回值:Integer
'*************************************************************
Function DelRole(IDs)
If IDs<>"" Then
IDs = IDs + "," '<--给最后的元素补分隔符","
Call DeleteRecord("PUB_Role","RoleID",IDs,"角色")
End If
End Function
'*************************************************************
'功能:修改角色
'参数:
' 无
'返回值:Integer
'*************************************************************
Function ModifyRole()
'Dim cmdModifyUser
'Dim strCommand
'Set cmdModifyUser=Server.CreateObject("adodb.command")
'
'With cmdModifyUser
' .ActiveConnection =conn
' strCommand="update PUB_Role set NAME='"+Request.Form("NAME")+_
' "',DESCRIPTION='"+Request.Form("DESCRIPTION")+"' where RoleID="+Request.Form("RoleID")
' 'Response.Write strCommand
' .CommandText =strCommand
' .Execute
'End With
RoleID=Request.Form("RoleID")
InActive=cint(Request.Form("InActive"))
If InActive = 1 Then
InActive = 0
Else
InActive = 1
End If
Response.Write inActive
'Response.End
FieldList="NAME,DESCRIPTION,IsACTIVE"
ValueList= Request.Form("NAME")+"и"+_
Request.Form("DESCRIPTION")+"и"&InActive
If RoleID <> "" Then
ModifyRecord "PUB_Role",FieldList,ValueList,"RoleID",RoleID
End if
End Function
'*************************************************************
'功能:获取角色列表
'参数:
' 无
'返回值:Recordset;包含角色列表的记录集
'*************************************************************
Function GetRoleList()
searchStr="RoleID<>1"
OrderField = "RoleID"
OrderMode = 1
ShowN = 0
Set GetRoleList=GetRecordList("PUB_Role",searchStr,OrderField,OrderMode,ShowN)
End Function
'*************************************************************
'功能:取得角色详细资料
'参数:
' ID;Integer;用户唯一代码
'返回值:Integer
'*************************************************************
Function GetRoleInfo(ID)
Set GetRoleInfo=GetRecordDetail("PUB_Role","RoleID",ID)
End Function
'*************************************************************
'功能:为指定的角色分配系统用户
'参数:
' UserGroupID;Integer;角色唯一代码
' UserIDs;String;用户唯一代码串
'返回值:Integer
'*************************************************************
Function AssignUser(RoleID,UserIDs)
Dim cmdAssignUsr
Dim strInsert
Dim intUserID
Dim intStart,intPosition
intStart = 1 '初始化搜索开始位置
intPosition = 1 '初始化User ID的析取位置
Set cmdAssignUsr=Server.CreateObject("adodb.command")
With cmdAssignUsr
.ActiveConnection =conn
strInsert="delete from PUB_UserRole where Role="+cstr(RoleID)+";"
.CommandText =strInsert
.Execute
'response.end
If UserIDs <> "" Then
UserIDs=UserIDs+","
Do While intStart <= len(UserIDs)
If mid(UserIDs,intStart,1) = "," Then '找到字符","
intUserID = cint(mid(UserIDs,intPosition,intStart-intPosition)) '析取出User ID
strInsert ="insert into PUB_UserRole(UserRoleID,Role,sysUSER)"+_
" values("+cstr(AutoGetNo("PUB_UserRole"))+","+cstr(RoleID)+","+cstr(intUserID)+");"
intPosition=intStart + 1 '将User ID的析取位置设为逗号(",")的下一位
'Response.Write strInsert&"<br>"
.CommandText =strInsert
.Execute
End If
intStart = intStart + 1 '后移搜索开始位置
Loop
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''往数据库添加静态表时用到此段程序
'i=1
'Do while i<=100
' sql="insert into PUB_MdlFunction(FunID,Mdl,name)"+_
' " values("+cstr(700+i)+",3,'#')"
' .CommandText =sql
' .Execute
' i=i+1
'loop
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End With
End Function
'*************************************************************
'功能:为指定的角色分配系统功能
'参数:
' RoleID;Integer;角色唯一代码
' ModuleIDs;String;模块ID字串
' FunNames;String;功能名称字串
' OperateTypes;String;功能操作类型串
'返回值:Integer
'*************************************************************
Function AssignSysFun(RoleID,FunIDs)
Dim cmdAssignUsr
Dim strInsert
Dim intFunID
Dim intStart,intPosition
intStart = 1 '初始化搜索开始位置
intPosition = 1 '初始化User ID的析取位置
Set cmdAssignUsr=Server.CreateObject("adodb.command")
With cmdAssignUsr
.ActiveConnection =conn
strInsert="delete from PUB_RoleFun where Role="+cstr(RoleID)+";"
.CommandText =strInsert
.Execute
'response.end
If FunIDs <> "" Then
'FunIDs=FunIDs+","
Do While intStart <= len(FunIDs)
If mid(FunIDs,intStart,1) = "," Then '找到字符","
intFunID = cint(mid(FunIDs,intPosition,intStart-intPosition)) '析取出User ID
strInsert =strInsert+"insert into PUB_RoleFun(Role,Fun)"+_
" values("+cstr(RoleID)+","+cstr(intFunID)+");"
intPosition=intStart + 1 '将User ID的析取位置设为逗号(",")的下一位
'Response.Write strInsert&"<br>"
End If
intStart = intStart + 1 '后移搜索开始位置
Loop
.CommandText =strInsert
.Execute
End If
End With
End Function
'*************************************************************
'功能:取得指定角色所包含的用户列表
'参数:
' UserGroupID;Integer;角色唯一代码
'返回值:Recordset;该角色所包含的用户列表的记录集
'*************************************************************
Function GetRolesUsers(RoleID)
Dim rstUserListOfUserGrp
Dim strSelect
Set rstUserListOfUserGrp=Server.CreateObject("adodb.recordset")
With rstUserListOfUserGrp
.ActiveConnection =conn
strSelect ="select * from PUB_USER,PUB_UserRole where PUB_UserRole.Role="+cstr(RoleID)+_
" and PUB_USER.USERID=PUB_UserRole.sysUSER and PUB_USER.IsActive=1"
.CursorType =3 'adOpenStatic
.LockType =3 'adLockOptimistic
'Response.Write strSelect
.Source =strSelect
.Open
End With
Set GetRolesUsers=rstUserListOfUserGrp '返回某角色包含的用户列表记录集
End Function
'*************************************************************
'功能:获取指定角色的系统功能列表
'参数:
' UserGroupID;Integer;角色唯一代码
'返回值:Recordset;包含系统功能列表的记录集
'*************************************************************
Function GetRolesFuns(RoleID)
Dim rstFunListOfUsrGrp
Dim strSelect
Set rstFunListOfUsrGrp=Server.CreateObject("adodb.recordset")
With rstFunListOfUsrGrp
.ActiveConnection =conn
If RoleID = "" Then '若UserGroupID为空,则获取系统所有功能
strSelect =""
Else
strSelect ="select * from PUB_MdlFunction,PUB_RoleFun where PUB_RoleFun.Role="+cstr(RoleID)+_
" and PUB_MdlFunction.FunID=PUB_RoleFun.Fun"
End If
.CursorType =3 'adOpenStatic
.LockType =3 'adLockOptimistic
'Response.Write strSelect
.Source =strSelect
.Open
End With
Set GetRolesFuns=rstFunListOfUsrGrp '返回功能列表记录集
End Function
'*************************************************************
'功能:用户角色功能复制
'参数:
' RoleID;Integer;角色唯一代码
' sysUser:UserIDs;String;用户唯一代码串
'返回值:Recordset;包含系统功能列表的记录集
'*************************************************************
Function AddSysFun(RoleID,UserIDs)
Dim cmdAssignUsr
Dim strInsert
Dim intUserID
Dim intStart,intPosition
intStart = 1 '初始化搜索开始位置
intPosition = 1 '初始化User ID的析取位置
Set cmdAssignUsr=Server.CreateObject("adodb.command")
Set rs_Fun=Server.CreateObject("adodb.recordset")
Set rs2=Server.CreateObject("adodb.recordset")
With cmdAssignUsr
'.ActiveConnection =conn
'strInsert="delete from PUB_UserFun where Role="+cstr(RoleID)+";"
'.CommandText =strInsert
'.Execute
'response.end
If UserIDs <> "" Then
UserIDs=UserIDs+","
Do While intStart <= len(UserIDs)
If mid(UserIDs,intStart,1) = "," Then '找到字符","
intUserID = cint(mid(UserIDs,intPosition,intStart-intPosition)) '析取出User ID
sql="select Fun from Pub_RoleFun where Role="& RoleID &" and Fun not in(select Fun from Pub_UserFun where sysUser="+CSTR(intUserID)+")"
rs_Fun.open sql,conn,3,3
Do while not rs_Fun.eof
strInsert ="insert into PUB_UserFun(UserFunID,sysUser,Fun)"+_
" values("+cstr(AutoGetNo("PUB_UserFun"))+","+cstr(intUserID)+","+cstr(rs_Fun("Fun"))+");"
conn.Execute strInsert
Response.Write strInsert&"<br>"
rs_Fun.moveNext
loop
rs_Fun.close
intPosition=intStart + 1 '将User ID的析取位置设为逗号(",")的下一位
'.CommandText =strInsert
'.Execute
End If
intStart = intStart + 1 '后移搜索开始位置
Loop
End If
End With
End Function
'*************************************************************
'功能:
'*************************************************************
'Function fixQuotes(theString)
' fixQuotes=Replace(theString,"'","''")
'End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -