本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

在 SharePoint 2013 中從傳統模式移轉至宣告式驗證

 

適用版本:SharePoint Foundation 2013, SharePoint Server 2013

上次修改主題的時間:2017-01-25

摘要:將 SharePoint 2010 產品或 SharePoint 2013 傳統模式 Web 應用程式轉換為宣告式驗證,或在 SharePoint 2013 建立宣告型 Web 應用程式。

宣告式驗證是重要元件,可啟用 SharePoint 2013 的進階功能。要將傳統模式 Web 應用程式從 SharePoint 2010 產品 移至 SharePoint 2013,您可在 SharePoint 2010 產品 內轉換至宣告型 Web 應用程式,然後移轉至 SharePoint 2013。本文程序說明各種支援案例。

SharePoint 2013 的 Windows PowerShellConvert-SPWebApplication Cmdlet 會將傳統模式 Web 應用程式轉換為宣告型 Web 應用程式。

警告 警告:
將 Web 應用程式轉換為宣告式驗證後,則無法回復到傳統模式驗證。

在 SharePoint 2010 產品 中完成下列程序,將現有 Web 應用程式轉換為宣告式驗證。將 Web 應用程式轉換為宣告式驗證後,請完成其他步驟,將 Web 應用程式移轉到 SharePoint 2013。要完成此程序,您需要下列資訊:

  • 您要轉換 Web 應用程式的 URL:http://yourWebAppUrl

  • 設定為網站管理員的使用者帳戶:yourDomain\yourUser

將 SharePoint 2010 產品 Web 應用程式轉換為宣告式驗證
  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 待更新之所有資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 Windows PowerShell Cmdlet 之所在伺服器上的管理員群組。

    • 您必須閱讀 about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)。

    • 新增超越上述最低要求的必要成員資格。

    系統管理員可使用 Add-SPShellAdmin Cmdlet 以授權使用 SharePoint 2013 Cmdlet。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱「權限」與<Add-SPShellAdmin>。
  2. 在 Windows PowerShell 命令提示字元處,輸入下列命令,以將指定使用者帳戶設定為網站的管理員:

    $WebAppName = "http://<yourWebAppUrl>"
    $wa = get-SPWebApplication $WebAppName
    $wa.UseClaimsAuthentication = $true
    $wa.Update()
    

    其中:

    • <yourWebAppUrl> 是 Web 應用程式的 URL。

  3. 在 Windows PowerShell 命令提示字元處,輸入下列命令,以設定原則授與使用者完整存取權:

    $account = "yourDomain\yourUser"
    $account = (New-SPClaimsPrincipal -identity $account -identitytype 1).ToEncodedString()
    $wa = get-SPWebApplication $WebAppName
    $zp = $wa.ZonePolicies("Default")
    $p = $zp.Add($account,"PSPolicy")
    $fc=$wa.PolicyRoles.GetSpecialRole("FullControl")
    $p.PolicyRoleBindings.Add($fc)
    $wa.Update()
    

    如需詳細資訊,請參閱<Get-SPWebApplication>。

  4. 在 Windows PowerShell 命令提示字元處,輸入下列命令,以執行使用者移轉:

    $wa.MigrateUsers($true)
    
  5. 使用者完成移轉後,請在 Windows PowerShell 命令提示字元處輸入下列命令,以執行佈建:

    $wa.ProvisionGlobally()
    

    如需詳細資訊,請參閱<New-SPClaimsPrincipal>。

    注意事項 附註:
    建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。

完成上述程序後,您可能會遇到下列一個以上的問題:

  • 在存取移轉 Web 應用程式時送出有效認證的使用者可能會收到不具權限的通知。若發生此種情況,可能是 portalsuperuseraccount 屬性與 Web 應用程式的 portalsuperreaderaccount 屬性在移轉前便已設定。若是此情形,請更新 portalsuperuseraccount 屬性和 portalsuperreaderaccount 屬性,以便使用新的宣告型帳戶名稱。移轉後,您可在移轉 Web 應用程式的 Web 應用程式原則中找到新的宣告型帳戶名稱。

  • 若現有警示不是在移轉後呼叫,您可能必須刪除並重新建立提醒。

  • 若「搜尋」編目在移轉後無法於 Web 應用程式運作,請確認「搜尋」編目帳戶列出了新的轉換帳戶名稱。若未列出新的轉換帳戶名稱,您必須手動建立編目帳戶的新原則。

將宣告型 SharePoint 2010 產品 Web 應用程式移轉到 SharePoint 2013
  1. 在 SharePoint 2013 中,建立宣告型 Web 應用程式。如需詳細資訊,請參閱在 SharePoint 2013 中建立宣告式 Web 應用程式

  2. 將兩個現有的 SharePoint 2010 產品 內容資料庫附加到新建立的 SharePoint 2013 宣告型 Web 應用程式。如需詳細資訊,請參閱在 SharePoint 2013 中附加或卸離內容資料庫

    注意事項 附註:
    若將 SharePoint 2010 產品 內容資料庫附加到 SharePoint 2013 宣告型 Web 應用程式,資料庫會升級為 SharePoint 2013 資料庫格式。附加後,您必須確認內容資料庫能正常運作。

在 SharePoint 2013 中完成下列程序,將現有 SharePoint 2010 產品 傳統模式 Web 應用程式轉換為使用宣告式驗證的 SharePoint 2013 Web 應用程式。

將 SharePoint 2010 產品 傳統模式 Web 應用程式轉換為 SharePoint 2013 宣告式驗證
  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 待更新之所有資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 Windows PowerShell Cmdlet 之所在伺服器上的管理員群組。

    • 您必須閱讀 about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)。

    • 新增超越上述最低要求的必要成員資格。

    系統管理員可使用 Add-SPShellAdmin Cmdlet 以授權使用 SharePoint 2013 Cmdlet。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱「權限」與<Add-SPShellAdmin>。
  2. 在 SharePoint 2013 環境的 [開始] 功能表上,按一下 [所有程式集]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

  5. 變更至您儲存檔案的目錄。

  6. 在 Windows PowerShell 命令提示字元處,輸入下列命令:

    New-SPWebApplication -name "ClassicAuthApp" -Port 100 -ApplicationPool "ClassicAuthAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "<domainname>\<user>")
    

    其中:

    • <domainname>\<user> 是伺服器所屬的網域,以及使用者帳戶的名稱。

  7. 將兩個現有的 SharePoint 2010 產品 內容資料庫附加到新 SharePoint 2013 傳統模式 Web 應用程式。如需詳細資訊,請參閱在 SharePoint 2013 中附加或卸離內容資料庫

    注意事項 附註:
    若將 SharePoint 2010 產品 內容資料庫附加到 SharePoint 2013 傳統模式 Web 應用程式,資料庫會升級為 SharePoint 2013 資料庫格式。附加後,您必須確認內容資料庫能正常運作。
  8. 在 Windows PowerShell 命令提示字元處,輸入下列項目:

    Convert-SPWebApplication -Identity <yourWebAppUrl> -To Claims -RetainPermissions [ -Force]
    

    其中:

    • <yourWebAppUrl> 是 Web 應用程式的 URL。

    注意事項 附註:
    Convert-SPWebApplication 將 Web 應用程式轉換為宣告式驗證。轉換後,您必須確認使用者可存取 Web 應用程式。
  9. 若必要,請將第三個 SharePoint 2010 產品 內容資料庫附加到新 SharePoint 2013 傳統模式 Web 應用程式。附加後,請確認內容資料庫可正常運作。

  10. 在 Windows PowerShell 命令提示字元處,輸入下列項目:

    Convert-SPWebApplication -Identity yourWebAppUrl -To Claims -RetainPermissions [ -Force]
    

轉換為宣告式驗證後,請確認使用者可存取 Web 應用程式。

如需詳細資訊,請參閱<New-SPWebApplication>、<Get-SPManagedAccount>和<Convert-SPWebApplication>。

注意事項 附註:
建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。

在 SharePoint 2013 中完成下列程序,先建立傳統模式 Web 應用程式,然後轉換為宣告式驗證。

在 SharePoint 2013 建立傳統模式 Web 應用程式
  • 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 待更新之所有資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 Windows PowerShell Cmdlet 之所在伺服器上的管理員群組。

    • 您必須閱讀 about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)。

    • 新增超越上述最低要求的必要成員資格。

    系統管理員可使用 Add-SPShellAdmin Cmdlet 以授權使用 SharePoint 2013 Cmdlet。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱「權限」與<Add-SPShellAdmin>。
  • 在 Windows PowerShell 命令提示字元處,輸入下列項目:

    New-SPWebApplication -Name <Name> -ApplicationPool <ApplicationPool> -AuthenticationMethod <WindowsAuthType> -ApplicationPoolAccount <ApplicationPoolAccount> -Port <Port> -URL <URL>
    

    其中:

    • <Name> 是使用傳統模式驗證的新 Web 應用程式名稱。

    • <ApplicationPool> 是應用程式集區的名稱。

    • <WindowsAuthType> 是 "NTLM" 或 "Kerberos"。建議使用 Kerberos。

    • <ApplicationPoolAccount> 是這個應用程式集區所用執行身分的使用者帳戶。

    • <Port> 是在 IIS 內建立 Web 應用程式的地方。

    • <URL> 是 Web 應用程式的公用 URL。

    注意事項 附註:
    如需詳細資訊,請參閱<New-SPWebApplication>。
    注意事項 附註:
    成功建立 Web 應用程式後,開啟「管理中心」網頁時會看見狀況規則警告,說明傳統驗證模式已啟用一個以上的 Web 應用程式。這就是為什麼我們建議使用宣告式驗證,不要使用傳統驗證模式。
將 SharePoint 2013 傳統模式 Web 應用程式轉換為宣告式驗證
  • 在 Windows PowerShell 命令提示字元處,輸入下列項目:

    Convert-SPWebApplication -Identity "http:// <servername>:port" -To Claims -RetainPermissions [-Force]
    

    其中:

    • <servername> 是伺服器名稱。

轉換為宣告式驗證後,請確認使用者可存取 Web 應用程式。

如需詳細資訊,請參閱<New-SPWebApplication>、<Get-SPManagedAccount>和<Convert-SPWebApplication>。

注意事項 附註:
建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。

在 SharePoint 2013 中完成下列程序,建立傳統模式 Web 應用程式,然後將現有的 SharePoint 2010 產品 傳統模式 Web 應用程式移轉到 SharePoint 2013。

將 SharePoint 2010 產品 傳統模式 Web 應用程式移轉到 SharePoint 2013
  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 待更新之所有資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 Windows PowerShell Cmdlet 之所在伺服器上的管理員群組。

    • 您必須閱讀 about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)。

    • 新增超越上述最低要求的必要成員資格。

    系統管理員可使用 Add-SPShellAdmin Cmdlet 以授權使用 SharePoint 2013 Cmdlet。

    注意事項 附註:
    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 Windows PowerShell 權限的其他資訊,請參閱「權限」與<Add-SPShellAdmin>。
  2. 在 Windows PowerShell 命令提示字元處,輸入下列項目:

    New-SPWebApplication -name "ClassicAuthApp" -Port 100 -ApplicationPool "ClassicAuthAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "<domainname>\<user>")
    

    其中:

    • <domainname>\<user> 是伺服器所屬的網域,以及使用者帳戶的名稱。

  3. 將兩個現有的 SharePoint 2010 產品 內容資料庫附加到新 SharePoint 2013 傳統模式 Web 應用程式。附加後,請確認內容資料庫能正常運作。如需詳細資訊,請參閱在 SharePoint 2013 中附加或卸離內容資料庫

如需詳細資訊,請參閱<New-SPWebApplication>和<Get-SPManagedAccount>。

注意事項 附註:
建議您在執行命令列管理工作時使用 Windows PowerShell。Stsadm 命令列工具已過時,但為與舊版產品相容,仍會隨附提供。

https://technet.microsoft.com/zh-tw/library/gg276326.aspx
顯示: