sharePoint2007 Forms 验证登陆 拒绝访问(Access Denied) 相关问题解决方案(转)
问题有4个
1.点击登陆页面后,出现"拒绝访问"字样,并同时显示"登陆用户为***".
2.点击登陆页面后,没有任何反映,还是原来页面.
3.外网运行网站,提示"文件不存在".
4.点击登陆页面后,验证通过,但指向了不存在页面,出现403错误.
这些问题都是Forms 验证过程中会遇到的,解决方法如下
一. 检查数据库中是否存在该用户
在 aspnetdb 数据库中,看看该用户是否存在.
二, 检查web.config是否配置正确.
在 configuration 节点下添加
view plaincopy to clipboardprint?
<connectionStrings>
<remove name="AspNetSqlProvider" />
<add name="AspNetSqlProvider" connectionString="server=服务器名; database=aspnetdb; Trusted_Connection=True" />
</connectionStrings>
<connectionStrings>
<remove name="AspNetSqlProvider" />
<add name="AspNetSqlProvider" connectionString="server=服务器名; database=aspnetdb; Trusted_Connection=True" />
</connectionStrings>
在 configuration -> system.web节点下添加
view plaincopy to clipboardprint?
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false"
passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database"
name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<!--Role Provider-->
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from
the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider,
System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false"
passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database"
name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<!--Role Provider-->
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from
the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider,
System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
注意 <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">.
将上述 xml,添加到网站,扩展网站,和管理中心网站的web.config中.
三.添加权限
在管理中心 > 应用程序管理 > 验证提供程序 配置完成后, 进入 管理中心 > 应用程序管理 > Web 应用程序的策略 中,为应用程序添加Form认证用户,如果这时提示 用户不存在,代表web.config有问题,或者 "验证提供程序" 那里没有配置.
在 管理中心 > 应用程序管理 > 网站集所有者 为网站管理集配置Form用户,如果这时提示 用户不存在,代表web.config有问题.(一般情况是管理中心web.config中忘配置了)
特别说明:
管理中心站点:即SharePoint 3.0 管理中心管理页,而不是其它网站集,此站点可能在IIS目录下(SharePoint Central Administration v3)查看路径,一定要注意。
打开管理中心站点所在路径(如我这里是C:\Inetpub\wwwroot\wss\VirtualDirectories\35784,你可以打开IIS找到管理中心站点的物理路径)修改其下的Web.config文件.
用 AD帐户登陆站点,在"人员和组"中, 为站点配置 Forms认证用户相关权限.如果这时提示 用户不存在,代表web.config有问题.
四.重启IIS.测试.
五.如果还不行,回想一下该网站是不是当点击域名时系统自动生成的,如果这样,建议删除该程序集,再在 管理中心 > 应用程序管理 > 创建->网站集 中手动创建新的程序集(因为系统自动生成的网站对Forms验证支持不好),然后再对相关权限进行配置,如第三步.
六.如果出现 点击登陆页面后,验证通过,但指向了不存在页面,出现403错误.很可能是该站点同时也是配置SSP所用的宿主站点.貌似SSP宿主站点对Form验证不是很支持(书上没这么说,但我确实遇到了,也许比较菜吧).我的做法是重新建一个web应用,在新建的应用上打建网站,而不是用宿主web应用.
七.如果在其他机子上进入登陆页面,提示"文件不存在".可能是由于修改了该web应用程序的某个子站,或者顶级站.应该重新在 管理中心 >
应用程序管理 > 验证提供程序 配置.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/smysky/archive/2009/03/31/4039447.aspx
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步