• MOSS与业务系统的集成 之 自定义Membership实现Forms方式验证


    最近项目中发现,MOSS系统中的某些功能(如文档管理等)非常不错,决定进行现有系统进行集成。

    现有系统基本情况:

    • 用户信息使用SQL Server 2005数据库
    • 使用表单方式进行登录验证

    MOSS平台的基本信息:

    • 可使用Windows集成方式验证
    • 也可以使用.net类库中的AspNetSqlMembershipProvider或ADMembershipProvider来实现Forms方式验证。

    如果要进行集成,首先应该解决的是两平台的用户问题,及登录验证方式。一种办法是将现有系统的用户使用AD进行管理,使用windows集成方式进行验证。另一种办法是将MOSS因现有系统已上线运行一段时间、且用户大多使用代理访问此系统(代理服务器不支持NTLM协议,无法使用Windows集成方式验证),所以只能使用第二种方法了。

    步骤一:实现抽象类System.Web.Security.MembershipProvider,编码自定义的Provider  

    Code

     

    步骤二:将自定义的Provider类库注册到系统GAC,并在系统web.config中加入Provider配置

    1.类库注册命令:gacutil.exe /i My.Security.dll (类库必须签名)

    2.修改C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG目录下web.config 文件:

    在<configuration>节点内添加<connectionStrings>节点配置数据库连接

    <connectionStrings>

    <add name="SQLConnString" connectionString="server=XXX;database=XXX;uid=XX;pwd=XXX;" />

    </connectionStrings>

    在<system.web>节点内添加<membership>节点和<roleManager>节点

    <membership defaultProvider="MyMembershipProvider">

    <providers>

    <add name="MyMembershipProvider"

    type="My.Security.MyMembershipProvider, My.Security,Version=1.0.0.0, Culture=neutral, PublicKeyToken=1cc46146f89bba24"/>

    </providers>

    </membership>

    步骤三:为Sharepoint应用程序增加访问SQLServer权限

    修改C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\CONFIG\ wss_minimaltrust.config,:

    在第6行后增加以下:

    <SecurityClass Name="SqlClientPermission" Description="System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

    在第36行后增加以下

    <IPermission class="SqlClientPermission" version="1" Unrestricted="true" />

    步骤四:扩展现有Web应用程序

    打开SharePoint管理中心网站->应用程序管理->创建或扩展WEB应用程序->扩展现有WEB应用程序:

    端口:80

    验证提供程序:NTLM

    允许匿名访问:否

    负载平衡URL区域:Internet

    步骤四:设置Web应用程序的验证方式及站点管理员

    1. 打开SharePoint管理中心网站->应用程序管理->验证提供程序:确定当前web应用程序是80站点,点击区域的Internet。

      在编辑验证页面做以下修改并保存:

      验证类型:Forms

      启用匿名访问:否

      成员身份提供程序名称:MyMembershipProvider  

      集成模式:集成

    2. 打开SharePoint管理中心网站->应用程序管理->网站集管理员:为所有网站集设置好管理员。

  • 相关阅读:
    ubuntu18.04LTS服务器用vituralenv安装和配置pytorch和tensorflow
    ubuntu18.04安装Anaconda
    XeLaTeX下如何以原大小显示PNG
    JS黑魔法之this, setTimeout/setInterval, arguments
    sicily 1198. Substring (递归全排列+排序)
    sicily 1046. Plane Spotting(排序求topN)
    sicily 1051. Biker's Trip Odomete
    sicily 1176. Two Ends (Top-down 动态规划+记忆化搜索 v.s. Bottom-up 动态规划)
    sicily 1035. DNA matching
    关于组织自定义皮肤/主题的一点思考
  • 原文地址:https://www.cnblogs.com/CSharp/p/1261074.html
Copyright © 2020-2023  润新知