浅水滩生活

专注于.NET设计架构和技术、项目管理等IT相关内容

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

用VS2005的客户端连接TFS,结果没有输入用户名密码就可以登陆,而且是管理员登陆,觉得很奇怪,于是就找Team Explorer中的权限设置,发现一个Team Foundation Licensed Users组,里面有一个管理员,于是就好奇将其删除,结果就再也连接不了TFS了,结果SQL SERVER 2005的跟踪发现是死在以下的语句中:

exec sp_executesql N'-- prc_security_read_is_member
DECLARE @ismember BIT
EXEC prc_security_read_is_member @sid, @groupsid, @ismember OUTPUT
SELECT @ismember
',N'@sid varchar(46),@groupsid varchar(59)',@sid='S-1-5-21-2604840842-1608877906-3008711727-1113',@groupsid='S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-4'

这个SP是Tfsintegeration中的一个SP,但是加密的,无法查看。于是就找表,发现有三个表可能有关联:tbl_gss_group_membership、tbl_security_membership_cache、tbl_security_ismember_cache,于是就一个个向里面加数据,加到第三个的时候,突然可以连接TFS,大功告成。以下是语句:

INSERT INTO tbl_gss_group_membership(parent_group_sid, member_sid, last_update)
VALUES('S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-4''S-1-5-21-2604840842-1608877906-3008711727-1113'getdate())

INSERT INTO tbl_security_membership_cache(container, member)
VALUES('S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-4''S-1-5-21-2604840842-1608877906-3008711727-1113')

INSERT INTO tbl_security_ismember_cache(group, member)
VALUES('S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-4''S-1-5-21-2604840842-1608877906-3008711727-1113')



posted on 2006-12-10 03:09  浅水滩  阅读(665)  评论(0编辑  收藏  举报