51Testing软件测试网(nB tMW9w4h3ZQC默认是可以密码为空登陆的,该如何强制要求设置密码呢?51Testing软件测试网ja
gw5wN?j1CdA
!|3da8\Q
x
w;S0目标:
6`E:Ct6`6b4}/[0!bJT.@L;h0新建立用户密码为空,允许登陆,登陆时给出提示,告诉用户修改密码的路径,如果不设置,则以后不允许登陆,直到设置密码为止
YD7tz6q"M`7V0)C8s{?W]0方法:51Testing软件测试网8evm8b3[*Q7gB)u)b
51Testing软件测试网bzY:f8w,Sa6[}用户登陆后,会在td.SESSIONS_HISTORY表中产生一条记录,只要比较当前登陆用户在该表中的记录就可以了51Testing软件测试网A\
D8N[-DN#h ]'j
eEhUzDj"h
_0脚本:
0KVjR&`f.K
k `05D
wX2F8ot!jBC:}0首先自定义个一函数,用户判断登陆用户在td.SESSIONS_HISTORY表中是否有记录
i7td/d1zE0*t-w6sm0LTU0Function GET_USERSESSION(LOGINUSER)
q
Xo&K
u(\0|9s${4m-UZ/m0 '若SESSIONS_HISTORY表中只存在一条记录,则返回fasle
BdzcX i/I0 '否则返回True
K jRK
mil&iH$I:Wm0 Dim rs,conn,sql,strconn51Testing软件测试网4x*MK3{^ucpO5P
3dt)D[
o:u l0 strconn = "Provider=SQLOLEDB.1;User ID=xx;Password=xxx;"&_51Testing软件测试网m$s:QM4G
]$u$ez
"Data source=xx.xx.xx.xx;DATABASE=qcsiteadmin_db"
6A,B:OeSlP4X0wE9D7MTWj_H;?#[0 Set conn = createobject("adodb.connection")
g2?,C(U+E1q!S[gw0 conn.open strconn
S!p3I.a;wC7L1Q'N0$a4l%z&C
n\n.I-n0 sql="select * from td.SESSIONS_HISTORY where USER_NAME = '"_
4b8|a PlTi*k0 &LOGINUSER&"'"
?"R^
e[0U I
c051Testing软件测试网4|
bDn7osVj8H Set rs=createobject("adodb.recordset")
\qM|s:VG0 rs.open sql,conn,1,151Testing软件测试网NI0juR8A
51Testing软件测试网VnfJ1F$Q6H+zY numofuser = rs.recordcount51Testing软件测试网3R+BiQ I"yK
51Testing软件测试网M,O8B,u7|
WN userlogin = rs.Fields("USER_NAME").value51Testing软件测试网A$h+Wv2r"M,Zx&n
51Testing软件测试网@0`D(bH._1Td9f&X If (numofuser >1 And userlogin = LOGINUSER) Then
I#k;y:],R(_`0b1U*c-B#T0 Flag = True51Testing软件测试网$h
qTD&z${q
Elseif (numofuser = 1 And userlogin = LOGINUSER)Then
5Nz b;FsW~ug5o0 Flag = False
.{2z3sFa"Y,~S0 End If
x5S,Z;g'm_gZ051Testing软件测试网&p!h
n#An0_0C GET_USERSESSION = Flag51Testing软件测试网T4U].{9Lc~/k
51Testing软件测试网 w
Jp+u,R+Y!_UB+q Set rs=Nothing51Testing软件测试网6?Zl5W)\E5A
Set conn = Nothing
-@9L.mtm GP0)w|BAR W^E+g|0End Function51Testing软件测试网_xlwB'bd_`
51Testing软件测试网X kV0G9vE.d然后在 Project_CanLogin函数中加入以下代码进行控制:51Testing软件测试网?A
A(h W1z
-zv*}5B*C)S
S&A:L*~0Function Project_CanLogin(DomainName, ProjectName, UserName)51Testing软件测试网 f{,l(@0v |
M
On Error Resume Next
9g-C1P
[uZ~.\d051Testing软件测试网(M6mj$ZW6B Project_CanLogin = Project_DefaultRes
lG@v]2_9h)e"N0 Dim login_user
"v @~FB0 login_user = User.UserName51Testing软件测试网}1Cm8C?Vz
issession = GET_USERSESSION(login_user)51Testing软件测试网 D3L CQpu X%f\,M
/u$m!dEr$U&x0 If (isObject(TDConnection) And issession = False) Then51Testing软件测试网f|H
~:F
E\Q$L:OT&w[Mdx
l0 Set tdc = TDConnection51Testing软件测试网HuD&W/a-lUd$[
ZMh`?N@A%\:{0 currentPwd = tdc.Password51Testing软件测试网&~ Y8Y|&OUi
51Testing软件测试网k8A*~{5hK7FSugw9e If len(currentPwd) < 1 Then
2\!`B4^ U*Iih051Testing软件测试网cS*|2gU8J#|#{5q#W MsgBox "请设置密码,否则无法二次登陆!" &_
'T1\H7?L&j0 " (工具->自定义->更改用户属性->更改密码).", 0, _
Q#~3f/[|y0 "您的密码为空"51Testing软件测试网q,p|R.~vvU
51Testing软件测试网 bl#y0Gi\8G Project_CanLogin = True
LS2UF[`7H%tM0 } ZR:Bn!r@0 End If51Testing软件测试网S
?$wa&~(Iu
ElseIf (isObject(TDConnection) And issession = True)Then51Testing软件测试网 Y'M"l'EG
Set tdc = TDConnection51Testing软件测试网's9M#_F'b
,s };n$?HA\0 currentPwd = tdc.Password51Testing软件测试网&q-LtK1[3z6As
-X+pe)S6J%D5y0 If len(currentPwd) < 1 Then
3|bG*k2D1udy(m(Y"n0R;F)\cW ?0 MsgBox "您未设置密码,不允许登陆!" &_
H.zS4blup0 " 请联系QC管理员.", 0, _
"cD-`Ct6v0 "无法登陆"
,s r?8H!g.}0#}#Z;tHs5t+s/I8I ~0 Project_CanLogin = False
EU7z4uE;c3xv051Testing软件测试网*z'P(w@J9pS End If
*A!E+S!u M5kn AA051Testing软件测试网F7io6Q+ZI` End If51Testing软件测试网q
n"CB cv`
&q L%b4G3n0 On Error GoTo 0
d1C%D,rgm]k0End Function51Testing软件测试网!~s&q.]+K~#kM1o