SE [RanUser]
GO
/****** Object: StoredProcedure [dbo].[user_verify] Script Date: 07/17/2011 09:58:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[user_verify]
@userId char(25),
@userPass char(25),
@userIp char(25),
@SvrGrpNum int,
@SvrNum int,
@proPass varchar(6), -- Ran dynamic password
@proNum varchar(2), -- Ran dynamic password random number
@nReturn int OUTPUT
AS
DECLARE
@nAvailable int,
@nUserNum int,
@nState int,
-- Declare variables used in error checking.
@error_var int,
@rowcount_var int,
@nBlock int,
@BlockDate datetime,
@EndDate datetime,
@StrSql nvarchar(100)
SET NOCOUNT ON
SET @nReturn = 0
SET @nUserNum = 0
SELECT @nUserNum=UserInfo.UserNum,
@nState=UserInfo.UserLoginState,
@nBlock=UserInfo.UserBlock,
@BlockDate=UserInfo.UserBlockDate
FROM UserInfo
WHERE UserID = @userId AND UserPass = @userPass AND UserAvailable = 1
-----------------------------------------------------------------
-- ID / PWD check...
IF @nUserNum = 0
BEGIN
SET @nReturn = 0
RETURN @nReturn
END
ELSE
BEGIN
SET @nReturn = 1
IF @nState = 1
BEGIN
SET @nReturn = 5
RETURN @nReturn
END
END
IF (SELECT COUNT(*) FROM BlockAddress WITH (NOLOCK) WHERE BlockAddress = @userIp) > 0
BEGIN
declare @params as nvarchar(100)
SET @StrSQL = 'SELECT @ordercnt=count(userid) FROM Randpass WHERE userid='''+@userId+''' AND pwd'+@proNum + '='''+@proPass + ''''
SET @params = '@ordercnt as int OUTPUT' -- OUTPUT ???? ??
exec sp_executesql @StrSQL, @params, @ordercnt = @rowcount_var OUTPUT
SELECT @error_var = @@ERROR
IF @error_var = 0 AND @rowcount_var = 1
BEGIN
SET @nReturn = 1 -- Dynamic password correct
END
ELSE
BEGIN
SET @nReturn = 7 -- Dynamic password error
RETURN @nReturn
END