Sharepoint2007启用kerberos认证step by step

经过多次失败,今天终于配通了kerberos。为使后来者不继续我的弯路,就把主要过程记录一下。 其中有些结论仅是我目前安装过程中的一些感觉,并不做准。

我们这次配置的目的是实现客户端不要输入用户名密码直接登陆sharepoint2007,而且为了和另外一套系统共享认证信息,所以使用了一个单独的DC。其中我的spserver(shaerpoint server)已经加入了这个个域emcdc.local, spserver 全名是mospfordev.emcdc.local.

1. 首先重要的是在你安装sp2007的时候,该机器应该已经加入了域,原因是因为如果spserver和客户端不在同一个域的时候,会默认采用NTLM方式访问。

2. 一旦你配置成功后,使用DC中用户登陆后,会报访问被拒绝的错误,此时你只需要在站点的用户管理中将相应用户权限分配即可。

3. 由于kerberos认证跟时间有很大关系,所以得保证客户端和服务器时间一致,可以通过下边这个命令来同步。 在命令行打入“net time \\server  /set /y” 

如果报访问被拒绝的错误,可以执行这个命令  net use \\server  password  /user:domain\username

4.记得要修改准备kerberos认证site的Application pool中的账户,修改成一个域账户,并赋予相应的权限。并给该用户添加SPN,SPN一定不能重复。

5.application pool的账户应该被添加进IIS_WPG and STS_WPG WSS_WPG这几个组。

  配置步骤如下:

1. 在DC上安装Windows Support Tools

2. 然后安装下图操作:

clip_image002

clip_image004

clip_image006

clip_image008

clip_image010

clip_image012

clip_image014

clip_image016

clip_image018

clip_image020

clip_image002[1]

重要: 此处选择你的site对应的Application pool中的用户名。 

clip_image022

clip_image024

然后输入

HTTP/mospfordev.emcdc.local:8001

我加这句的意思是指定了该用户可以访问http://mospfordev:8001
重要:切记,一旦有一个用户被指定了这个SPN后,别的用户就一定不可以添加这个SPN了,否则会kerberos认证失败。

我们继续在DC上做操作。

clip_image026
clip_image028

在刚才配置的那个用户上点Properties.

如果此时你的域控选的是2003那么看到的是下边这个界面。

clip_image030

3. 如是是2000则是下边的界面
clip_image032

至于是2003还是2000,可以通过Ad and trust - > raise function level来修改。

4. 接着还有一些操作我没图,反正也挺简单。

Administrative Tools-> Active Directory Users and Computers-> Computers

选择mospfordev(你的site所在的机器), click Properties.

Click the Delegation tab, click Trust this computer for delegation to any service (Kerberos only), and then click OK.

5. 接着我们打开spServer,使用Central Administration修改准备改变认证方式的site的认证方式为kerberos认证。

clip_image034

clip_image036

此时你就应该可以使用刚才配置的用户登录spserver了,也许会报没有权限访问的错误,但没有关系。只要你在系统日志看到下图就说明你已经配置成功了。

clip_image038

通过试验我发现如果客户机跟webserver不在通一个域,默认会使用NTLM认证方式。 (正确的说法应该是:你的webserver应该在域里边,而客户机好像不在这个域也可以)

此时,有可能打开网站时会提示你输入用户名密码,因为我们已经使用用户名密码登录了该电脑,所以没必要再次重新输入,按下边的操作:

在客户端打开网站后.选择"文件"-->"将此站点加入到"-->"本地Intranet区域".

在"安全性设定"中找到"使用者验证",选择"只在Intranet区域自动登录"。

 

后记:如果你使用win2008+IIS7,你会发现上边的操作并不能成功,解决方法很简单。

在 IIS 7 Manager中选择 select the “Sites/”并选择“Authentication”。

选择“Windows Authentication”并点击“Advanced Settings”

去掉勾选“Enable kernel-mode authentication”

iis7kerberos

posted @ 2009-01-15 16:42  彷徨......  阅读(949)  评论(4编辑  收藏  举报