• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
C罗.net
DotNetNuke vs SharePoint
博客园    首页    新随笔    联系   管理    订阅  订阅

YetAnotherForum集成AD用户混合登录(四) 创建StoreProcedure

 

验证AD
USE [yafnet]
GO
/****** Object: StoredProcedure [dbo].[yaf_user_login_AD] Script Date: 09/30/2008 02:23:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[yaf_user_login_AD](
@BoardID INT,
@Name NVARCHAR(50))
AS
BEGIN
DECLARE @UserID INT
-- Try correct board first
IF EXISTS (SELECT UserID
FROM yaf_User
WHERE Name = @Name
AND BoardID = @BoardID
AND (Flags & 2) = 2)
BEGIN
SELECT UserID
FROM yaf_User
WHERE Name = @Name
AND BoardID = @BoardID
AND (Flags & 2) = 2
RETURN
END
IF NOT EXISTS (SELECT UserID
FROM yaf_User
WHERE Name = @Name
AND (BoardID = @BoardID
OR (Flags & 3) = 3))
begin
--insert into user
insert into yaf_user(BoardID,Name,Password,joined,lastvisit,NumPosts,TimeZone,RankID,Gender,flags,ThemeFile) values(1,@Name,'',convert(varchar(20), getdate(),120),convert(varchar(20), getdate(),120),0,480,3,0,2,'ASPNet.xml')
select @UserID=UserID from yaf_user where name=@Name
--insert into usergroup
insert into yaf_usergroup values(@userid,3)
end
ELSE
SELECT @UserID = UserID
FROM yaf_User
WHERE Name = @Name
AND (BoardID = @BoardID
OR (Flags & 1) = 1)
AND (Flags & 2) = 2
SELECT @UserID
END

 

 

通过验证即插入用户并取得userid
USE [yafnet]
GO
/****** Object: StoredProcedure [dbo].[yaf_user_login_wopwd] Script Date: 09/30/2008 02:23:28 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[yaf_user_login_wopwd](
@BoardID INT,
@Name NVARCHAR(50))
AS
BEGIN
DECLARE @UserID INT
-- Try correct board first
IF EXISTS (SELECT UserID
FROM yaf_User
WHERE Name = @Name
AND BoardID = @BoardID
AND (Flags & 2) = 2)
BEGIN
SELECT UserID
FROM yaf_User
WHERE Name = @Name
AND BoardID = @BoardID
AND (Flags & 2) = 2
RETURN
END
IF NOT EXISTS (SELECT UserID
FROM yaf_User
WHERE Name = @Name
AND (BoardID = @BoardID
OR (Flags & 3) = 3))
SET @UserID = NULL
ELSE
SELECT @UserID = UserID
FROM yaf_User
WHERE Name = @Name
AND (BoardID = @BoardID
OR (Flags & 1) = 1)
AND (Flags & 2) = 2
SELECT @UserID
END

 

 

posted @ 2008-09-29 11:28  皇上爱累了  阅读(287)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3