zoukankan      html  css  js  c++  java
  • Moss 2007 单点登录

    基于SharePoint 2007做个单点登录,找了很多资料,SSO的配置、获取SSO中应用程序凭据,这些都有很多资料介绍,但是木有怎样将用户凭据存入SSO中,这个很关键,不可能所有用户凭据都由管理员来输入,今天主要是介绍一些怎样将用户凭据存入SSO。

    • SSO配置

    进入SharePoint服务器,进入服务管理界面,设置“Microsoft Single Sign-on Service ”服务为自动模式,同时已启动。

                           

    进入管理中心,点击左侧导航“操作”按钮。然后在页面右侧点击“管理单一登录的设置”,进入管理单一登录页面。

     

    点击“管理服务器设置”,进入服务器设置页面。

    首先输入“单一登录管理员账号”、“企业应用程序定义管理员账户”、“数据库设置”,然后点击确定按钮。

     

    点击“管理加密密钥”,然后点击创建加密密钥。

     

    进入管理企业应用程序页面,点击新建按钮。

     

    首先输入“显示名称”,“应用程序名称”,“账户类型”的值,应用程序名称为Mail,账户类型为个人,点击保存。

     

    进入管理企业应用程序的账户信息页面,可以修改用户在应用中的账号和密码。

     

    • SSO页面

    添加引用

    using Microsoft.SharePoint;

    using Microsoft.SharePoint.Portal;

    using Microsoft.SharePoint.Portal.SingleSignon;

      protected override void OnInit(EventArgs e)         {

                base.OnInit(e);

                SSOCanaryChecker.AddCanary(Page);

            }

    获取用户凭证

     IntPtr pUserName = IntPtr.Zero;

                IntPtr pPassword = IntPtr.Zero;             String strHttpUrl = string.Empty;             try

                {

                ISsoProvider isso = SsoProviderFactory.GetSsoProvider();

                SsoCredentials myCreds = isso.GetCredentials("Mail");

                pUserName = System.Runtime.InteropServices.Marshal.SecureStringToBSTR(myCreds.UserName);

                String userName = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(pUserName);

                pPassword = System.Runtime.InteropServices.Marshal.SecureStringToBSTR(myCreds.Password);

                String Password = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(pPassword);

    添加用户凭证

      Credentials x = new Credentials();

                string[] rgSetCredentialData = new string[2];

                string strUserName = txtUserName.Text;

                string strPassword = txtPassword.Text;

                rgSetCredentialData[0] = strUserName;

                rgSetCredentialData[1] = strPassword;

                Credentials.SetCredentials(Convert.ToUInt32(1), "Mail", rgSetCredentialData);

     参考链接:http://www.sharepointsecurity.com/sharepoint/sharepoint-security/implementing-pluggable-sharepoint-single-sign-on/

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.portal.singlesignon.credentials.setcredentials(v=office.12).aspx

  • 相关阅读:
    WPF、UWP以及其他类型项目的csproj文件的迁移(SDK-Style)
    文书生成笔录预设保存按钮Mq中间转传服务
    卷宗添加争议焦点数据制造脚本(卷宗部分)
    案件信息同步之后,文书系统案件名称显示不正确问题
    DISTINCT----mysql移除返回的重复值
    Nginx系列教程(6)Nginx location 匹配规则详细解说
    转载 chrony 详解
    dmesg 时间转换
    axios---get和post用法详解
    通过递归来封装sessionStorage---set/get/delete
  • 原文地址:https://www.cnblogs.com/ficohu/p/2942055.html
Copyright © 2011-2022 走看看