SharePoint 2003的用户身份验证必须以活动目录AD为基础。这意味着SharePoint2003无法创建互联网上的网站。这一点极大阻碍了SharePoint2003 的发展。
MOSS2007中的用户身份验证比起SharePoint2003来说有了一个质的飞跃。MOSS2007支持自定义的用户身份验证提供程序。可以根据实际业务情况,按照一些规则自行构建一个用户身份验证程序,并且可以使用SQL SERVER、ORACLE等数据源,甚至是文本文件。
在项目中,用户身份验证可以使用MOSS2007默认的AD用户验证对外部互联网则使用了基于数据库的表单验证。
AD用户验证中用户添加的详细过程:
开始->程序->管理工具->Active Directory用户和计算机,右键单击”Users”->”新建用户”命令,填入相关信息,用户登录名一定要记清楚,后面都会用到这个登录名来登录
单击“下一步”按钮,需要输入密码,这里密码最好长一些,并选择密码永不过期
然后单击“下一步”按钮,之后确定即可,这样就增加了一个用户,添加后的界面:
因为计算机上配置了SMTP服务,要是系统默认的SMTP服务器来发送邮件。电子邮件使用“用户名@域”这样的方式。用同样的方法继续增加其他用户zdr(zongderong)、gsq(GanShiQiang)、cj(CaoJing)、dyf(DuanYuFeng).
同步到
MOSS
进入MOSS管理中心,单击共享服务“SharedServices1”。
打开“用户配置文件和属性”界面
由于是第一次导入用户,单击“开始完全导入”。页面导入结束后,不会自动刷新,所以手动再次刷新页面。具体导入时间的长短和用户的数量以及用户用户的信息量有关系的。
单击“查看用户配置文件”,刚才AD中的用户已经添加进来了。
使用管理员的身份登录端口为9000的web应用程序站点,单击“网站操作”->“网站设置”->“人员和组”
在“人员和组”的页面中,单击工具条上的“新建”->“新建用户组”
首先创建manager用户组
继续添加support用户组,权限选择“参与讨论”与“读取”。继续添加helpdesk角色,权限选择“参与讨论”和 “读取”。继续添加admin用户组,这个用户组与manager组完全一致
需要将同步过来的用户添加在具体的这个网站的用户组来。在“人员和组”中,单击“新建”->“添加用户”,在“用户/用户组”下面的文本框输入yyg,然后单击旁边的 图标,此时会找到用户,并把用户的全名天道文本框中。授予权限选择刚才添加的manager用户组,或者也可以单独对这个用户进行权限设定。
同样,把用户cj添加到helpdesk用户
组,把用户zdr及gsq添加到support
用户组,把dyf添加到admin用户组
当外部用户访问企业站点的时候,希望能够直接浏览信息,而不需要先登录。只有访问某些受限页面或核心功能模块时,才需要登录。在MOSS2007中,需要使用表单认证的方式来解决这个问题。
表单认证需要以下几个步骤:
1、创建一个表单验证数据库
打开VS2005的命令行工具,键入命令aspnet_regsql,系统会自动启动一个ASP.NET SQL Server的安装向导。
完成后,在SQL SERVER2005管理界面中可以看到刚才创建的ASPNETDB.
接下来打开VS2005,新建一个web站点,命名为WebIT。打开目录下的web.config文件进行修改。
1.在<configuration>节点内添加<connectionStrings>节点
2.在<system.web>节点中添加<memebership>节点和<roleManager>节点
具体看示例。
configuration节点配置.rar
system.web节点配置.rar
保存后,选择vs2005的菜单“项目”->“ASP.NET配置”命令
点击“安全”标签
单击“选择身份验证类型”
选择“通过Internet”,然后单击“完成”按钮即可。接着创建用户,单击“创建用户”的链接。
创建一个名为“sg”的用户,请填写详细的信息,然后点击“创建用户”按钮
使用同样的步骤创建用户“wxj”。接着单击“提供程序”标签
选择“为每项功能选择不同的提供程序(高级)”
这里列出的成员资格提供程序和角色提供程序,是在web.config文件配置的。单击“测试”,如果没有问题的话,则提示”已成功建立到数据库的连接“。如果出现问题,检查提供程序是否正确
扩展
web
应用程序
9000端口的web应用程序默认使用AD验证来访问。现在需要将端口9000的应用程序进行扩展,这样互联网用户就可以通过其他端口来访问了
打开“管理中心”->“应用程序管理”->“创建或扩展web应用程序”->“扩展现有web应用程序”。在web应用程序下拉菜单中,单击“更改web应用程序”按钮。选择web应用程序的界面中,选择sharepoint9000.
其他设置说明
端口:9001
允许匿名访问:是
负载平衡的URL,区域选择Internet
最后点击“确定”按钮完成
配置
Web.Config
文件
打开9000站点下的web.config文件,添加数据库连接字符串、membership和role提供程序
打开9001站点的web.config文件,添加数据库连接字符串、membership和role提供程序。
打开sharepoint管理中心下端口是10000的web.config文件,添加数据库连接字符串、membership和role提供程序。添加完了以后,还需要修改以下。找到
<roleManager enabled=“true” defaultprovider=“aspnetwindowsTokenroleprovider”>
请把defaultprovider修改为AspNetWindowsTokenRoleProvider.这是必须的,否则管理中心无法进入了
启用表单验证
打开“管理中心”-> “应用程序管理”->“验证提供程序”
选择 http://mei:9000/ 的应用。
然后单击区域列表中的Internet的链接
选择验证类型为表单验证,勾选启用匿名
成员身份提供名称:
AspNetSqlMembershipProvider
角色管理器名称:
AspNetSqlRoleProvider
此时,访问9001站点,可以看到,此时界面
上没有了原来的AD登录
添加用户
将添加的两个用户sg与wxj添加到站点中。打开端口为9000的web应用程序,单击“网站操作”->“网站设置”->“人员和组”.单击工具条“新建”->“添加用户”
用户sg登录后,有很多功能不能用,如更换母版页,系统会提示错误,
打开管理中心站点页面,单击“应用程序管理”->“web应用程序的策略”,单击添加用户命令.
Web应用程序选择端口为9000的应用,区域选择Internet。单击下一步
匿名用户登录
端口9001的web站点是面向互联网用户的,现在登录还需要输入用户名和密码,如何让所有的用户能够访问呢?需要启用匿名访问功能。
使用用户sg登录,此时用户sg对网站具有完全控制的权限。单击“网站操作”→“修改所有网站设置” ,单击“高级权限” →“设置” →“匿名访问”
选择匿名用户可访问“整个网站”,然后单击“确定”按钮