Guest User

Untitled

a guest
Dec 8th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.61 KB | None | 0 0
  1. CREATE PROCEDURE [tp2].[tpp_user_login] (
  2. @xusername NVARCHAR(510)
  3. ,@xpassword NVARCHAR(510)
  4. ,@xis_admin NVARCHAR(256)
  5. )
  6. AS
  7. DECLARE @xconvsys_date DATETIME
  8. DECLARE @xxlog_attempts INT
  9. DECLARE @xxexists INT
  10. DECLARE @xxuser_id CHAR(20)
  11. DECLARE @xxpassword NVARCHAR(510)
  12. DECLARE @xxbad_login_ctr INT
  13. DECLARE @xxlogin_ctr INT
  14. DECLARE @xxsplit NVARCHAR(50)
  15. DECLARE @xxterminated_on DATETIME
  16. DECLARE @xxstatus INT
  17. DECLARE @xxdummy INT
  18. DECLARE @xxlogged_on DATETIME
  19. DECLARE @xxacc_lock_period INT
  20. DECLARE @xxlocked_out NVARCHAR(510)
  21.  
  22. SET @xconvsys_date = getdate()
  23.  
  24. SELECT @xxuser_id = e.id
  25. ,@xxpassword = e.password
  26. ,@xxsplit = e.split
  27. ,@xxterminated_on = terminated_on
  28. FROM cmt_person e
  29. WHERE e.username = upper(@xusername)
  30.  
  31. IF (@@rowcount = 0)
  32. BEGIN
  33. SELECT @xxexists = 0
  34. END
  35.  
  36. IF (@xxexists = 0)
  37. BEGIN
  38. BEGIN
  39. IF (@xis_admin = 'true')
  40. BEGIN
  41. BEGIN
  42. SELECT @xxuser_id = 'emplo000000000000001'
  43. ,@xxpassword = i.password
  44. ,@xxsplit = 'domin000000000000001'
  45. FROM tpt_config_info i
  46. END
  47. END
  48. ELSE
  49. BEGIN
  50. RAISERROR 20000 'fg;21000'
  51.  
  52. RETURN
  53. END
  54. END
  55. END
  56.  
  57. IF (
  58. substring(@xxuser_id, 1, 5) = 'emplo'
  59. AND @xis_admin <> 'true'
  60. )
  61. BEGIN
  62. IF (
  63. @xxterminated_on IS NOT NULL
  64. AND @xxterminated_on < getdate()
  65. )
  66. BEGIN
  67. RAISERROR (
  68. 20000
  69. ,'fg;20957'
  70. ,1
  71. )
  72.  
  73. RETURN
  74. END
  75. END
  76.  
  77. EXEC fgp_policy_fetch 10046
  78. ,@xxsplit
  79. ,NULL
  80. ,NULL
  81. ,0
  82. ,@xxlog_attempts OUTPUT
  83.  
  84. IF (1 > 0)
  85. BEGIN
  86. SELECT @xxbad_login_ctr = bad_login_ctr
  87. ,@xxlogin_ctr = login_ctr
  88. ,@xxlogged_on = logged_on
  89. FROM tpt_person_log
  90. WHERE id = @xxuser_id
  91.  
  92. IF (@@rowcount = 0)
  93. BEGIN
  94. SELECT @xxbad_login_ctr = - 1
  95. END
  96.  
  97. IF (@xxbad_login_ctr = - 1)
  98. BEGIN
  99. SELECT @xxdummy = @xxdummy
  100.  
  101. BEGIN TRAN
  102.  
  103. INSERT INTO tpt_person_log (
  104. id
  105. ,login_ctr
  106. ,bad_login_ctr
  107. ,logged_on
  108. ,flags
  109. )
  110. VALUES (
  111. @xxuser_id
  112. ,0
  113. ,0
  114. ,getdate()
  115. ,'1000000000'
  116. )
  117.  
  118. SELECT @xxbad_login_ctr = 0
  119.  
  120. SELECT @xxlogin_ctr = 0
  121.  
  122. SELECT @xxlogged_on = getdate()
  123.  
  124. COMMIT
  125. END
  126.  
  127. IF (@xpassword <> @xxpassword)
  128. BEGIN
  129. SELECT @xxbad_login_ctr = @xxbad_login_ctr + 1
  130. END
  131. ELSE
  132. BEGIN
  133. IF (
  134. (
  135. @xxbad_login_ctr < @xxlog_attempts
  136. OR @xxlog_attempts IS NULL
  137. )
  138. AND @xis_admin <> 'true'
  139. )
  140. BEGIN
  141. SELECT @xxlogin_ctr = @xxlogin_ctr + 1
  142.  
  143. SELECT @xxbad_login_ctr = 0
  144. END
  145. END
  146.  
  147. IF (
  148. @xxbad_login_ctr = @xxlog_attempts
  149. AND @xxbad_login_ctr <> 0
  150. )
  151. BEGIN
  152. SELECT @xxdummy = @xxdummy
  153.  
  154. BEGIN TRAN
  155.  
  156. EXEC fgp_notification_post @xxuser_id
  157. ,30002
  158. ,@xconvsys_date
  159. ,''
  160. ,@xxsplit
  161.  
  162. COMMIT
  163. END
  164.  
  165. IF (
  166. @xxbad_login_ctr >= @xxlog_attempts
  167. AND @xis_admin <> 'true'
  168. )
  169. BEGIN
  170. SELECT @xxlocked_out = 'true'
  171.  
  172. EXEC fgp_policy_fetch 20013
  173. ,@xxsplit
  174. ,NULL
  175. ,NULL
  176. ,0
  177. ,@xxacc_lock_period OUTPUT
  178.  
  179. SELECT @xxacc_lock_period = CASE
  180. WHEN @xxacc_lock_period = 0
  181. THEN NULL
  182. ELSE @xxacc_lock_period
  183. END
  184.  
  185. IF (@xxacc_lock_period IS NOT NULL)
  186. BEGIN
  187. IF (getdate() > dateadd(dd, @xxacc_lock_period, @xxlogged_on))
  188. BEGIN
  189. SELECT @xxdummy = @xxdummy
  190.  
  191. SELECT @xxbad_login_ctr = 0
  192.  
  193. SELECT @xxlocked_out = 'false'
  194. END
  195. ELSE
  196. BEGIN
  197. SELECT @xxlocked_out = 'true'
  198. END
  199. END
  200. ELSE
  201. BEGIN
  202. SELECT @xxlocked_out = 'true'
  203. END
  204. END
  205.  
  206. SELECT @xxdummy = @xxdummy
  207.  
  208. BEGIN TRAN
  209.  
  210. UPDATE tpt_person_log
  211. SET bad_login_ctr = @xxbad_login_ctr
  212. ,login_ctr = @xxlogin_ctr
  213. WHERE id = @xxuser_id
  214.  
  215. COMMIT
  216.  
  217. IF (@xxlocked_out = 'true')
  218. BEGIN
  219. RAISERROR 20000 'fg;20959'
  220.  
  221. RETURN
  222. END
  223. END
  224.  
  225. IF (@xpassword <> @xxpassword)
  226. BEGIN
  227. RAISERROR 20000 'fg;21000'
  228.  
  229. RETURN
  230. END
  231.  
  232. UPDATE tpt_person_log
  233. SET logged_on = getdate()
  234. WHERE id = @xxuser_id
  235. GO
Add Comment
Please, Sign In to add comment