Sharepoint2007网站的认证方式的确认(有误)

近来正在开发一个用户自行修改密码的Webpart,但是遇到一个问题,因为公司内部门派独立,有的部门自己有AD,有的部门没有AD,有的部门还用Form认证,因此一个Webpart需要自行适应多种不同的认证方式有点难度,放狗搜了一下,找到一个Webpart可以自动适应对应的认证方式,但是需要129美刀,刀子很厉害,咬咬牙干脆自己赚这129美刀了。
看了一下WSS的SDK,发现里面有个很有用的命名空间Microsoft.SharePoint.Administration,呵呵,里面提供了一个叫做CurrentIdentityType的属性,这个属性可以自行设定或者获取当前应用程序所采用的认证方式,bingo,原来这么简单。
这个属性是一个枚举类型——IdentityType,里面包含了LocalSystem,LocalService,NetworkService,SpecificUser从名称上不难理解,对应的是:本地系统(应该就是本机的用户,测试环境返回的也是这个),本地服务(个人估计是Form认证,因为Form认证是一个Provider在发挥作用,而且好像一定要在同一台主机吧,不知道理解对不对。还是说域主机和Sharepoint是同一台服务器?),网络服务(个人估计是域认证,),指定用户(这个不能理解,SDK也没有说明)。
用法如下:

SPProcessIdentity inst = new SPProcessIdentity();
IdentityType currIdentityType 
= inst.CurrentIdentityType;
            
下午抽空做了一个测试用的webpart,放到各个部门的Sharepoint服务器上,结果都是一样,出来的结果都是:LocalSystem。
郁闷,到底出了什么问题。莫非我对IndentityType类型理解有误?请各位大大帮忙看看这个问题。
posted @ 2007-04-25 11:28  水鱼小白  阅读(1000)  评论(2编辑  收藏  举报