CREATE PROCEDURE [dbo].[CheckLogin]
@WhId varchar(50),
@LoginId varchar(50),
@Password varchar(50),
@EmpId varchar(50)='' output,
@Computer varchar(50),
@Ip varchar(50)
ASset nocount ondeclare @IsUse bit,@IsAdmin bit,@ErrorMsg varchar(50),@IsLogin bit
...
@WhId varchar(50),
@LoginId varchar(50),
@Password varchar(50),
@EmpId varchar(50)='' output,
@Computer varchar(50),
@Ip varchar(50)
ASset nocount ondeclare @IsUse bit,@IsAdmin bit,@ErrorMsg varchar(50),@IsLogin bit
...
@WhId varchar(50),
@LoginId varchar(50),
@Password varchar(50),
@EmpId varchar(50)='' output,
@Computer varchar(50),
@Ip varchar(50)
AS
set nocount on
declare @IsUse bit,@IsAdmin bit,@ErrorMsg varchar(50),@IsLogin bitset @IsUse=0
set @IsAdmin=0
set @IsLogin=0begin
select @IsAdmin=IsAdmin,@EmpId=EmpId,@IsUse=IsUse from sys_user where LoginId=@LoginId and Password=@Password
if (select @@RowCount)=0
set @ErrorMsg='用户名(%s)或密码有误,登陆失败!'
else if @IsUse=0
set @ErrorMsg='用户(%s)已被禁用,登陆失败!'
else if @IsAdmin=1
set @IsLogin=1
else if Not exists(select 1 from sys_whuser where WhId=@WhId and UserId=@LoginId)
set @ErrorMsg='用户(%s)没有登陆该操作点(%s)的权限,请向管理员询问!'
else
set @IsLogin=1insert into sys_loginlog (loginid,placeid,computer,ip,islogin,note) values (@LoginId,@WhId,@Computer,@Ip,@IsLogin,@ErrorMsg)
RaisError(@ErrorMsg,16,1,@LoginId,@WhId)
set nocount off
end
go
up