现在的位置: 首页 > 综合 > 正文

sharepoint 双认证

2012年02月19日 ⁄ 综合 ⁄ 共 2719字 ⁄ 字号 评论关闭

1把sql 修改成 sa 可以访问

alter login sa enable
alter login sa with password='China_sa'

----------------------------------------------

 

 

1、扩展WEB应用
  在管理中心中选“管理中心 > 应用程序管理 > 创建或扩展 Web 应用程序 > 扩展现有 Web 应用程序”
  在“将 Web 应用程序扩展到其他 IIS 网站”中选择新建IIS网站,并选择一个新的端口号:81;
  打开允许匿名访问,并设定负载均衡的URL为MOSS:81; 区域选“INTERNET”(或其它的也行,主要是为后面的验证程序用)
  WEB应用扩展应该来说就是同一个数据库的不同访问方式,但是网站物理文件的位置是独立的,如果在原网站上做的一些自定义功能,扩展后要重新部署,系
统并不会自动地将自定义功能也一并“扩展”.

2、配置验证提供程序
  在“管理中心 > 应用程序管理 > 验证提供程序
”中选择MOSS应用程序,会看到有两行提供者,一个是“默认”一个是“INTERNET",PROVIDER都是WINDOWS;
选择INTERNET进行修改;
在“管理中心 > 应用程序管理 > 验证提供程序 > 编辑验证”中,将验证类型改为“表单”,勾上“启用匿名访问”,并在成员身份提供程序名称中填上“
AspNetSqlMembershipProvider”,在角色管理器名称中填上“AspNetSqlRoleProvider”
现在进入80和81网站就是一个是AD用户认证,一个是表单身份认证;

3、修改WEB.CONFIG文件
  打开81和80网站的 WEB.CONFIG文件,位置可以从IIS中找到;
  加入connectionStrings、membership和roleManager节,
其中connectionStrings写在<configuration>中,
membership和roleManager写在<system.web>中,具体写法如下:

<connectionStrings>
      <remove name="AspNetSqlProvider" />
      <add name="AspNetSqlProvider" connectionString="server=.; database=User; Trusted_Connection=True" />
</connectionStrings>
connectionStrings节的作用是建立一个联接数据库的字符串;
membership,rolemanager定义了提供者的信息,要注意的是,.net 2.0中提供者的类型是SqlProvider,而MOSS中改成了System.Web.Security.SqlMembershipProvider

<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>
    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
      <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>
  修改了WEB.CONFIG文件后,可以实现了双认证方式的访问;

4.Form验证,将用户信息存储于数据库中,故我们需要创建一个数据库,使用SQL2005自带的aspnet_regsql.exe来建立aspnetdb数据库。
aspnet_regsql.exe在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目录下。

再用下面的程序添加几个用户

http://files.cnblogs.com/kasafuma/CreateUser.rar

5、给表单认证用户授权
  在“管理中心 > 应用程序管理 > Web 应用程序的策略 ”中添加用户,选择“internet”区域,增加表单认证的用户,并选择“完全控制”;
6、启用匿名访问;
  用刚才的表单认证用户名称登录81网站,在“网站设置 > 权限 > 匿名访问  ”中选择“整个网站”;

 

---------------------------------------------------------------------------------------------

 

 

抱歉!评论已关闭.