一. 准备注册程序和sqlexpress数据库
1.用visual studio 建立一个.NET Framework2.0版本的网站(因为sharepoint是运行在.net 2.0基础上的)。
2.建立login.aspx和reg.aspx页面,并分别拖入Login控件和CreateUserWizard控件。
3.点visual studio菜单 调试-开始执行。
4.测试并在在reg.aspx页面注册一个用户名,记号密码,后面会将此用户作为管理员。(此时系统在自建网站的App_Data目录建立数据库)
5.点visual studio菜单 项目-ASP.NET配置。进入配置页面 选择身份验证类型 选择通过 Internet
建立一个新角色为了后面可以用户注册自动加入相应组和权限。例如角色名:member
二. 配置sharepoing2007 form认证
1,将自建网站的 App_Data目录(里面是数据库文件)拷贝到需要form认证的网站根目录。
在IIS管理器找到相应网站,右键点浏览可以直接在资源管理器找到网站文件。
2,进入SharePoint 3.0 管理中心 点应用程序管理->验证提供程序 在web应用程序选择要实现form认证的网站,我的是sharepoint-80
3.点默认进入编辑验证页面 验证类型选表单 ,成员身份提供程序名称: AspNetSqlMembershipProvider 角色管理器名称:AspNetSqlRoleProvider 是否启用客户端集成?选是。保存
4.如果现在打开你的网站,点登陆 应该可以用第一步注册的用户登陆了,但登陆后会提示无权访问。需要将此用户作为网站的管理员,以后通过此管理员添加用户权限。
5.进入SharePoint 3.0 管理中心 点应用程序管理->网站集管理员 选择你需要更改的网站,将网站集注管理员更改成前面通过reg.aspx注册的用户名。点确定如果系统提示找不到完全匹配的项目,需要添加连接字符串到 管理中心网站的web.config文件里。如下:
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
三.用户通过reg.aspx后自动加入相应sharepoing组
1. 用visual studio打开自建的网站 reg.aspx,添加建立用户事件,例如下面 一行命令添加用户到角色,这个member是前面建立的角色名
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
System.Web.Security.Roles.AddUserToRole(CreateUserWizard1.UserName, "member");
}
2. 在form认证的网站下添加应用程序,应用程序池:SharePoint – 80 物理路径选自建网站的目录。这样使用户可以访问reg.aspx。
3.如果用户注册出现权限错误需要修改form认证网站的web.config文件里面的应用程序信任级别
<trust level="Full" originUrl="" />
<!--
修改应用程序信任级别由 WSS_Minimal 改为 Full
-->
4.将角色加入sharepoint用户组
用自建的管理员登陆网站,在网站设置 人员和组里面新建-添加用户 添加前面建立的角色 并授予权限。
如果找不到那个角色 是由于web.config里面少了 applicationName="/"
修改此form认证网站的web.config如下
<roleManager enabled="true"> <providers>
<clear />
<add name="AspNetSqlRoleProvider"
connectionStringName="LocalSqlServer"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
applicationName="/"
connectionStringName="LocalSqlServer"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
四.其他问题
1.绑定域名访问 出现文件无法找到错误
进入管理中心 备用映射访问