作者:火草 来源:BlogJava 酷勤网收集 2007-08-22
摘要
一、解决实现注册用户后,自动具备访问网站的权限的问题
二、基于Forms验证的问题
三、解决方案部署问题
为了自己也为了跟我一样的新手们,还是决定把一路上碰到的问题记录下来。
一、解决实现注册用户后,自动具备访问网站的权限的问题
1、当我修改完web.config的后,给网站添加用户的时候,怎么也找不到已经注册成功了的用户,查看过数据库,里面已经存在这个用户,前面Form认证时创建的管理员用户可以登陆成功,试了十几分钟都没反应,最后决定重启下iis,问题解决。前面修改web.config的时候都没重启iis,不知道是什么原因,可能前面运气好,后面运气差吧,呵呵。
2、在应用程序里添加了Members角色,再把该角色添加到网站中,如果你是按照网上的教程,那恭喜你,你一定会碰到这个问题的,就是怎么也找不到那个角色,这个问题网上还不好找,有些人就是折在这里的,哎!!
因为我们无法看到应用程序里的那个“项目——》ASP。NET配置”配置角色的具体步骤,所以只有看配置与数据库里的数据情况了,对于sharepoint新生来说,可能不知道那些配置有什么效果,而且就算找对了,也不知道为什么,那么我们来看数据库
角色表aspnet_Roles

看到了没,里面有个ApplicationId,记住角色是ReadMembrs的Id,我们再去看看应用程序表aspnet_Applications

有没有发现,里面根本就没有这个ApplicationId,那就是说在创建角色的时候没有配置对应的应用程序,再去看下配置中有那个是设置创建角色时对应的应用程序名,对了,就是少了applicationName="/" ,还有用户表里也有ApplicationId的,所以有两处地方要加
配置如下:
<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="4"
minRequiredNonalphanumericCharacters="0"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
至此,这个问题已经解决了,相信你也知道问题所在了,呵呵。
三、解决方案部署问题
1、执行stsadm时会报命令行错误
微软为sharepoint提供了很有意思的解决方案模板(需要的话去搜索下就可以找到了,注意是for windows sharepoint server v3的),下载后运行到一个目录下,里面有相关的部署说明。我按照上面的试了下执行stsadm时会报命令行错误,只要执行下面的命令就没问题了: 里面的templatepath就是模板路径,原先的错误应该就是原先已经有了applicationtemplatecore.wsp了,所以先要删除掉
REM stsadm -o deletesolution -name ApplicationTemplateCore.wsp
REM stsadm -o deletesolution -name SalesLeadPipeline.wsp

REM stsadm -o addsolution -filename %templatePath%ApplicationTemplateCore.wsp
REM stsadm -o deploysolution -name ApplicationTemplateCore.wsp -local -allowGacDeployment
REM stsadm -o copyappbincontent二、基于Forms验证的问题
1、不能对基于Forms验证的Web应用进行爬网
现在Office SharePoint Server 2007只能对要么匿名访问、要么基于Windows集成认证的Web应用进行爬网,但是对于大量的基于Forms验证的Web应用,却无能为力。幸运的是,很快微软也会发布相应的hotfix来增加对基于Forms验证的Web应用进行爬网的功能了
(来自:http://blog.joycode.com/kaneboy/archive/2007/03/05/94494.aspx)
if you are not severely affected by this problem, we recommend that you wait for the next SharePoint Server 2007 service pack that contains this hotfix。不急的话等待SPS2007升级包吧,呵呵
2、在Form验证情况下在sharepoint designer里无法创建workflow
目前还不知道怎么解决.form验证怎么这么麻烦(牢骚下........)
这段时间出差,以前偷偷占用的一台电脑也被公司没收了,导致sharepoint也被搁置了一段时间,还好我有毅力,没有电脑,我装虚拟机,虽然原先1秒钟的事情变成了10分钟,还是要坚持啊,下面是最近碰到的些问题:

