<%
'###########################################################
'File: cls_Admin.asp
'Description: Admin类
'Author: gaoshou
'Copyright: http://
'LastUpdate: 2007-10-20
'###########################################################
Class Cls_Admin
Public ID,AdminName,AdminPass,PassKey,NickName,TrueName,Content,AdminFlag,LoginTimes,LastLogin,IsLock,FlagsTitle,Flags
Private Sub Class_initialize()
ID=0
AdminName=""
AdminPass=""
PassKey=""
AdminFlag=""
LoginTimes=""
LastLogin=""
IsLock=""
FlagsTitle=""
Flags=""
End Sub
Private Sub class_terminate()
End Sub
Public Property Let AdminID(Byval Values)
End Property
Public Property Get AdminID
AdminID = ID
End Property
'***********************************************************
'函数名:CheckSystemLogin
'功能:检测系统管理员登陆
'参数:a_UName,需要检测用户的用户名
'参数:a_UPass,用户的密码(未经过MD5加密)
'更新时间:2006年1月2日,Author:gaoshou
'***********************************************************
Public Function CheckSystemLogin(a_UName,a_UPass)
If Is_Debug Then On Error Resume Next
If a_UName = "" or IsNull(a_UName) or a_UPass = "" or IsNull(a_UPass) then
CheckSystemLogin = false
Exit Function
End If
Dim LoginOk
LoginOk = False
Dim Rs,Sql,sRndStr '检测用户名和密码的SQL语句
Set Rs = Server.CreateObject("ADODB.RecordSet")
Sql = "select ID,AdminPass,PassKey,LastLogin from "&Table_Name&"_Admin where AdminName='"&a_UName&"'"
Set Rs = ExecuteSql(Sql)
If Not Rs.EOF then
If Rs("AdminPass") = MD5(Key_Code & Rs("PassKey") & a_UPass) Then
sRndStr = getRndStr(5)
a_UPass = MD5(Key_Code & sRndStr & a_UPass)
Session(Cookies_Name & "LastLogin") = Rs("LastLogin") & ""
ExecuteSql "update "&Table_Name&"_Admin set PassKey='"&sRndStr&"',AdminPass='"&a_UPass&"',LastLogin='"&Year(Now()) & "-" & Month(Now()) & "-" & Day(Now()) & " " & Hour(now()) & ":" & Minute(now()) & ":" & Second(now())&"',LastTime='"&Year(Now()) & "-" & Month(Now()) & "-" & Day(Now()) & " " & Hour(now()) & ":" & Minute(now()) & ":" & Second(now())&"',LoginTimes=LoginTimes+1,LastLoginIP='"&GetIP()&"' where ID=" & Rs("ID")
Session(Cookies_Name & "AdminName") = a_UName
Session(Cookies_Name & "AdminPass") = a_UPass
Call WriteLog(a_UName & "登陆成功",1,a_UName,1,"管理员"&a_UName&"已经成功登陆!")
LoginOk = True
End If
End If
Rs.Close
Set Rs = Nothing
CheckSystemLogin = LoginOk
End Function
'***********************************************************
'函数名:AdminLogout
'功能:管理员退出系统
'更新时间:2008年2月10日,Author:gaoshou
'***********************************************************
Public Sub AdminLogout()
If Is_Debug Then On Error Resume Next
Dim uName
uName = AdminName
If Not (IsNull(uName) or uName = "") Then
Call WriteLog(uName & "退出登陆成功",1,uName,1,"管理员"&uName&"已经成功退出系统!")
Session(Cookies_Name & "LastLogin") = null
Session(Cookies_Name & "AdminName") = null
Session(Cookies_Name & "AdminPass") = null
Session.Abandon()
End If
End Sub
'***********************************************************
'函数名:ChanegPass
'功能:管理员修改密码
'更新时间:2008年2月10日,Author:gaoshou
'***********************************************************
Public Sub ChanegPass(EditName,NewPass)
If Is_Debug Then On Error Resume Next
Dim uName
uName = AdminName
If Not (IsNull(EditName) Or EditName = "" ) Then uName = EditName
If Not (IsNull(uName) or uName = "") Then
NewPass = MD5(Key_Code & PassKey & NewPass)
ExecuteSql "update " & Table_Name & "_Admin set AdminPass='"&NewPass&"' where AdminName='"&SafeSql(uName)&"'"
Call WriteLog(uName & "修改管理员"&uName&"密码",1,uName,1,"管理员"&uName&"修改密码!")
If uName = AdminName Then Session(Cookies_Name & "AdminPass") = NewPass
End If
End Sub
'***********************************************************
'函数名:CheckSystemAdmin
'功能:检测系统管理员
'参数:a_UName,需要检测用户的用户名
'参数:a_UPass,用户的密码(经过MD5加密)
'参数:a_Alert,用户的密码(经过MD5加密)
'参数:a_Alert,是否显示提示信息
'更新时间:2006年1月2日,Author:gaoshou
'***********************************************************
Public Function CheckSystemAdmin(a_UName,a_UPass,a_Alert)
If Is_Debug Then On Error Resume Next
If a_UName = "" or IsNull(a_UName) or a_UPass = "" or IsNull(a_UPass) then
a_UName = Session(Cookies_Name & "AdminName")
a_UPass = Session(Cookies_Name & "AdminPass")
End If
If a_UName = "" or IsNull(a_UName) or a_UPass = "" or IsNull(a_UPass) then
CheckSystemAdmin = false
Exit Function
End If
Dim Rs,Sql '检测用户名和密码的SQL语句
Dim LoginOk
LoginOk = False
Set Rs = server.CreateObject("ADODB.RecordSet")
Sql = "select * from "&Table_Name&"_Admin where AdminName='"&a_UName&"'"
Set Rs = ExecuteSql(Sql)
If Not Rs.EOF then
If Rs("AdminPass") = a_UPass Then
ID = CLng(Rs("ID"))
AdminName = Rs("AdminName")
AdminPass = Rs("AdminPass")
PassKey = Rs("PassKey")
NickName = Rs("NickName")
TrueName = Rs("TrueName")
Content = Rs("Content")
AdminFlag = Rs("AdminFlag")
LoginTimes = Rs("LoginTimes")
LastLogin = Session(Cookies_Name & "LastLogin")
IsLock = Rs("IsLock")
Dim RsFlags
Set RsFlags = ExecuteSql("select * From "&Table_Name&"_AdminFlags where Id=" & AdminFlag)
If Not RsFlags.Eof Then
FlagsTitle = RsFlags("Title")
Flags = RsFlags("Flags")
End IF
RsFlags.Close
Set RsFlags = Nothing
If CLng(DateDiff("n",Rs("LastTime"),now())) < CLng(UserFreshTime) Then '用户还在可活动状态
ExecuteSql "update "&Table_Name&"_Admin set LastTime='"&Year(Now()) & "-" & Month(Now()) & "-" & Day(Now()) & " " & Hour(now()) & ":" & Minute(now()) & ":" & Second(now())&"' where ID=" & ID
LoginOk = True
Else
If a_Alert Then
Call ShowAdminLoginForm()
Else
LoginOk = True
End IF
End If
End If
End If
Rs.Close
Set Rs = Nothing
CheckSystemAdmin = LoginOk
End Function
'***********************************************************
'函数名:CheckSystemAdmin2
'功能:检测系统管理员登陆
'参数:a_UName,需要检测用户的用户名
'参数:a_UPass,用户的密码(未经过MD5加密)
'更新时间:2006年1月2日,Author:gaoshou
'***********************************************************
Public Function CheckSystemAdmin2(a_UName,a_UPass)
If Is_Debug Then On Error Resume Next
If a_UName = "" or IsNull(a_UName) or a_UPass = "" or IsNull(a_UPass) then
CheckSystemAdmin2 = false
Exit Function
End If
Dim LoginOk
LoginOk = False
Dim Rs,Sql '检测用户名和密码的SQL语句
Set Rs = Server.CreateObject("ADODB.RecordSet")
Sql = "select ID,AdminPass,PassKey,LastLogin from "&Table_Name&"_Admin where AdminName='"&a_UName&"'"
Set Rs = ExecuteSql(Sql)
If Not Rs.EOF then
If Rs("AdminPass") = MD5(Key_Code & Rs("PassKey") & a_UPass) Then
LoginOk = True
End If
End If
Rs.Close
Set Rs = Nothing
CheckSystemAdmin2 = LoginOk
End Function
Public Sub ShowAdminLoginForm()
Response.write "<script language=""javascript"">try{parent.DisplayLoginForm();}catch(e){}</script>"
End Sub
End Class
%>
'###########################################################
'File: cls_Admin.asp
'Description: Admin类
'Author: gaoshou
'Copyright: http://
'LastUpdate: 2007-10-20
'###########################################################
Class Cls_Admin
Public ID,AdminName,AdminPass,PassKey,NickName,TrueName,Content,AdminFlag,LoginTimes,LastLogin,IsLock,FlagsTitle,Flags
Private Sub Class_initialize()
ID=0
AdminName=""
AdminPass=""
PassKey=""
AdminFlag=""
LoginTimes=""
LastLogin=""
IsLock=""
FlagsTitle=""
Flags=""
End Sub
Private Sub class_terminate()
End Sub
Public Property Let AdminID(Byval Values)
End Property
Public Property Get AdminID
AdminID = ID
End Property
'***********************************************************
'函数名:CheckSystemLogin
'功能:检测系统管理员登陆
'参数:a_UName,需要检测用户的用户名
'参数:a_UPass,用户的密码(未经过MD5加密)
'更新时间:2006年1月2日,Author:gaoshou
'***********************************************************
Public Function CheckSystemLogin(a_UName,a_UPass)
If Is_Debug Then On Error Resume Next
If a_UName = "" or IsNull(a_UName) or a_UPass = "" or IsNull(a_UPass) then
CheckSystemLogin = false
Exit Function
End If
Dim LoginOk
LoginOk = False
Dim Rs,Sql,sRndStr '检测用户名和密码的SQL语句
Set Rs = Server.CreateObject("ADODB.RecordSet")
Sql = "select ID,AdminPass,PassKey,LastLogin from "&Table_Name&"_Admin where AdminName='"&a_UName&"'"
Set Rs = ExecuteSql(Sql)
If Not Rs.EOF then
If Rs("AdminPass") = MD5(Key_Code & Rs("PassKey") & a_UPass) Then
sRndStr = getRndStr(5)
a_UPass = MD5(Key_Code & sRndStr & a_UPass)
Session(Cookies_Name & "LastLogin") = Rs("LastLogin") & ""
ExecuteSql "update "&Table_Name&"_Admin set PassKey='"&sRndStr&"',AdminPass='"&a_UPass&"',LastLogin='"&Year(Now()) & "-" & Month(Now()) & "-" & Day(Now()) & " " & Hour(now()) & ":" & Minute(now()) & ":" & Second(now())&"',LastTime='"&Year(Now()) & "-" & Month(Now()) & "-" & Day(Now()) & " " & Hour(now()) & ":" & Minute(now()) & ":" & Second(now())&"',LoginTimes=LoginTimes+1,LastLoginIP='"&GetIP()&"' where ID=" & Rs("ID")
Session(Cookies_Name & "AdminName") = a_UName
Session(Cookies_Name & "AdminPass") = a_UPass
Call WriteLog(a_UName & "登陆成功",1,a_UName,1,"管理员"&a_UName&"已经成功登陆!")
LoginOk = True
End If
End If
Rs.Close
Set Rs = Nothing
CheckSystemLogin = LoginOk
End Function
'***********************************************************
'函数名:AdminLogout
'功能:管理员退出系统
'更新时间:2008年2月10日,Author:gaoshou
'***********************************************************
Public Sub AdminLogout()
If Is_Debug Then On Error Resume Next
Dim uName
uName = AdminName
If Not (IsNull(uName) or uName = "") Then
Call WriteLog(uName & "退出登陆成功",1,uName,1,"管理员"&uName&"已经成功退出系统!")
Session(Cookies_Name & "LastLogin") = null
Session(Cookies_Name & "AdminName") = null
Session(Cookies_Name & "AdminPass") = null
Session.Abandon()
End If
End Sub
'***********************************************************
'函数名:ChanegPass
'功能:管理员修改密码
'更新时间:2008年2月10日,Author:gaoshou
'***********************************************************
Public Sub ChanegPass(EditName,NewPass)
If Is_Debug Then On Error Resume Next
Dim uName
uName = AdminName
If Not (IsNull(EditName) Or EditName = "" ) Then uName = EditName
If Not (IsNull(uName) or uName = "") Then
NewPass = MD5(Key_Code & PassKey & NewPass)
ExecuteSql "update " & Table_Name & "_Admin set AdminPass='"&NewPass&"' where AdminName='"&SafeSql(uName)&"'"
Call WriteLog(uName & "修改管理员"&uName&"密码",1,uName,1,"管理员"&uName&"修改密码!")
If uName = AdminName Then Session(Cookies_Name & "AdminPass") = NewPass
End If
End Sub
'***********************************************************
'函数名:CheckSystemAdmin
'功能:检测系统管理员
'参数:a_UName,需要检测用户的用户名
'参数:a_UPass,用户的密码(经过MD5加密)
'参数:a_Alert,用户的密码(经过MD5加密)
'参数:a_Alert,是否显示提示信息
'更新时间:2006年1月2日,Author:gaoshou
'***********************************************************
Public Function CheckSystemAdmin(a_UName,a_UPass,a_Alert)
If Is_Debug Then On Error Resume Next
If a_UName = "" or IsNull(a_UName) or a_UPass = "" or IsNull(a_UPass) then
a_UName = Session(Cookies_Name & "AdminName")
a_UPass = Session(Cookies_Name & "AdminPass")
End If
If a_UName = "" or IsNull(a_UName) or a_UPass = "" or IsNull(a_UPass) then
CheckSystemAdmin = false
Exit Function
End If
Dim Rs,Sql '检测用户名和密码的SQL语句
Dim LoginOk
LoginOk = False
Set Rs = server.CreateObject("ADODB.RecordSet")
Sql = "select * from "&Table_Name&"_Admin where AdminName='"&a_UName&"'"
Set Rs = ExecuteSql(Sql)
If Not Rs.EOF then
If Rs("AdminPass") = a_UPass Then
ID = CLng(Rs("ID"))
AdminName = Rs("AdminName")
AdminPass = Rs("AdminPass")
PassKey = Rs("PassKey")
NickName = Rs("NickName")
TrueName = Rs("TrueName")
Content = Rs("Content")
AdminFlag = Rs("AdminFlag")
LoginTimes = Rs("LoginTimes")
LastLogin = Session(Cookies_Name & "LastLogin")
IsLock = Rs("IsLock")
Dim RsFlags
Set RsFlags = ExecuteSql("select * From "&Table_Name&"_AdminFlags where Id=" & AdminFlag)
If Not RsFlags.Eof Then
FlagsTitle = RsFlags("Title")
Flags = RsFlags("Flags")
End IF
RsFlags.Close
Set RsFlags = Nothing
If CLng(DateDiff("n",Rs("LastTime"),now())) < CLng(UserFreshTime) Then '用户还在可活动状态
ExecuteSql "update "&Table_Name&"_Admin set LastTime='"&Year(Now()) & "-" & Month(Now()) & "-" & Day(Now()) & " " & Hour(now()) & ":" & Minute(now()) & ":" & Second(now())&"' where ID=" & ID
LoginOk = True
Else
If a_Alert Then
Call ShowAdminLoginForm()
Else
LoginOk = True
End IF
End If
End If
End If
Rs.Close
Set Rs = Nothing
CheckSystemAdmin = LoginOk
End Function
'***********************************************************
'函数名:CheckSystemAdmin2
'功能:检测系统管理员登陆
'参数:a_UName,需要检测用户的用户名
'参数:a_UPass,用户的密码(未经过MD5加密)
'更新时间:2006年1月2日,Author:gaoshou
'***********************************************************
Public Function CheckSystemAdmin2(a_UName,a_UPass)
If Is_Debug Then On Error Resume Next
If a_UName = "" or IsNull(a_UName) or a_UPass = "" or IsNull(a_UPass) then
CheckSystemAdmin2 = false
Exit Function
End If
Dim LoginOk
LoginOk = False
Dim Rs,Sql '检测用户名和密码的SQL语句
Set Rs = Server.CreateObject("ADODB.RecordSet")
Sql = "select ID,AdminPass,PassKey,LastLogin from "&Table_Name&"_Admin where AdminName='"&a_UName&"'"
Set Rs = ExecuteSql(Sql)
If Not Rs.EOF then
If Rs("AdminPass") = MD5(Key_Code & Rs("PassKey") & a_UPass) Then
LoginOk = True
End If
End If
Rs.Close
Set Rs = Nothing
CheckSystemAdmin2 = LoginOk
End Function
Public Sub ShowAdminLoginForm()
Response.write "<script language=""javascript"">try{parent.DisplayLoginForm();}catch(e){}</script>"
End Sub
End Class
%>
