致力于测试团队建设和自动化测试开发,欢迎有兴趣者一起研究讨论

QualityCenter登陆的密码策略设置

上一篇 / 下一篇  2008-08-21 16:52:55 / 个人分类:QC

51Testing软件测试网M+s|tI _\"r-e

QC默认是可以密码为空登陆的,该如何强制要求设置密码呢?

SZNVz Y0

M;}~._ h0Zhq0目标:

?3z^9RHq9m+p0

8O.uXOD4ZTr)^msYC0新建立用户密码为空,允许登陆,登陆时给出提示,告诉用户修改密码的路径,如果不设置,则以后不允许登陆,直到设置密码为止

m W7^sj'm2L0

'z&q4Vw0c _0方法:51Testing软件测试网7y,JWLA1p!Q

0s%HQ4NA3AW0用户登陆后,会在td.SESSIONS_HISTORY表中产生一条记录,只要比较当前登陆用户在该表中的记录就可以了

(u @P*c$Sn v051Testing软件测试网-Tb+u4r,Ij F

脚本:

&IYI6`0v q'z0

JXb3X8X)AorRE,_0首先自定义个一函数,用户判断登陆用户在td.SESSIONS_HISTORY表中是否有记录

E^` t|0P0

b]![;Kn2xv r0Function GET_USERSESSION(LOGINUSER)51Testing软件测试网%lsF7Y%m/r t

qY&D!Am2]*XT([0  '若SESSIONS_HISTORY表中只存在一条记录,则返回fasle
x6j:X!E*R0  '否则返回True
Z1oj+M.f`K E3b a0  Dim rs,conn,sql,strconn51Testing软件测试网/o5fs3F7`t

9nZFC/I%a0  strconn = "Provider=SQLOLEDB.1;User ID=xx;Password=xxx;"&_
2b.\N2^C i0  "Data source=xx.xx.xx.xx;DATABASE=qcsiteadmin_db"

F~4EQ+_ ]rq%yP-IH0

v%K!d;py0  Set conn = createobject("adodb.connection")51Testing软件测试网!ga:Lz |{+V
  conn.open strconn

*Tka7d6lF3V]051Testing软件测试网&u a{q.?1Sz

  sql="select * from td.SESSIONS_HISTORY where USER_NAME = '"_
TX/vI4b0     &LOGINUSER&"'"51Testing软件测试网7s]b(V |#x7I8@

51Testing软件测试网5p1xJsmQe\

  Set rs=createobject("adodb.recordset")51Testing软件测试网7I4B_m_%Rc*B
  rs.open sql,conn,1,151Testing软件测试网s S+p S@-\E

K-GX(TZ@ U4M G0  numofuser = rs.recordcount51Testing软件测试网{Q-s2z5j a

51Testing软件测试网VY*A)HfCND(U

  userlogin = rs.Fields("USER_NAME").value

3_g'VUC%o*MmS/n\0

}KE|#R4X0  If (numofuser >1 And userlogin = LOGINUSER) Then51Testing软件测试网*?|[9_ bt ~&j9qN
     Flag = True51Testing软件测试网 y)V C-RXK-b
  Elseif (numofuser = 1 And userlogin = LOGINUSER)Then
H(KP@*]:G~NxFu0          Flag = False
%[+yv:p \;n}0  End If

O*i\ {c}0

9tm.uF$y$^#~0  GET_USERSESSION = Flag51Testing软件测试网@ T5[T)Pg

T5OX)_*m!\:v]#L0  Set rs=Nothing51Testing软件测试网d;[/e)tN0I2i\
  Set conn = Nothing

C2UwUwG0~5B-Pr051Testing软件测试网+W9f?(N!S-o _:d.v O(u*j

End Function

tt)`!J~Sl4U-s0

V&D}.l_7w.v0然后在 Project_CanLogin函数中加入以下代码进行控制:51Testing软件测试网#~ k:y o-M&A{

51Testing软件测试网xU|*~ g;T Ri/Pa

Function Project_CanLogin(DomainName, ProjectName, UserName)51Testing软件测试网(^]j,iO
  On Error Resume Next

ZS2M#ImbRP0Y0

W1r4q~H q&m"~._\0  Project_CanLogin = Project_DefaultRes51Testing软件测试网e+I5Px)X!k|+a b/P
  Dim login_user
U7f;@,wYgZP0  login_user = User.UserName
-S-Y0?n(O*~4J%pU4x0  issession = GET_USERSESSION(login_user)51Testing软件测试网X,TTYU,Fw

v)cwVt-G0      If (isObject(TDConnection) And issession = False) Then

`_-eT@g_9w0

M B1?"Bl4T |1S0        Set tdc = TDConnection

!RZ"|C;?s+? X051Testing软件测试网/U'x a5J!soZ5`

        currentPwd = tdc.Password

V i$d4~u5E"V0

D D2H2A%j} ^8Tl0        If len(currentPwd) < 1 Then

\I3X)K$iE051Testing软件测试网 Ot G2R UW;S+t

            MsgBox "请设置密码,否则无法二次登陆!" &_51Testing软件测试网3{(P)^HF1N9Q
            " (工具->自定义->更改用户属性->更改密码).", 0, _
k D)k rup0            "您的密码为空"51Testing软件测试网i;Nc0pI!W"?!F;}7S5b

8rHE5ooB GmR0            Project_CanLogin = True

lE cCW0

'k#g Y V2z V5\x0        End If51Testing软件测试网/q ?OG'~z#k0E
      ElseIf (isObject(TDConnection) And issession = True)Then51Testing软件测试网kjQ$O;e+s
              Set tdc = TDConnection51Testing软件测试网0bDo S.ub8uT

51Testing软件测试网B8Pi]h

              currentPwd = tdc.Password51Testing软件测试网"lp)A*w6?(xi

R} kn$bsR)@$Y0              If len(currentPwd) < 1 Then

,OZ_s6TLEI0

W,e oiRq1ff0                 MsgBox "您未设置密码,不允许登陆!" &_
Y,ft5De"f:v0                 " 请联系QC管理员.", 0, _51Testing软件测试网$n&~6Y-Q su |M
                 "无法登陆"51Testing软件测试网'y+w*{{$]sLP

`*m nz)i:t4{0              Project_CanLogin = False

&Z8j5N{@3Na n NaJ0

ra#u(D$W q0              End If51Testing软件测试网'Ptzp9Rog;Y2e

51Testing软件测试网zW5w!Ca+|

    End If51Testing软件测试网 p6X2J H#g9@RL

9d%[,n-e/cj|w0  On Error GoTo 0
"s uwD.g"HC0End Function51Testing软件测试网1V:[#k2kv!Jk


TAG: QC

 

评分:0

我来说两句

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 91086
  • 日志数: 79
  • 图片数: 1
  • 建立时间: 2008-05-18
  • 更新时间: 2009-06-04

RSS订阅

Open Toolbar