FBAPack 1.3.4でSharePoint 2013のユーザー管理が便利になる
2014-12-30 SharePoint

SharePoint では様々なユーザー認証方法を使用することができます。Active Directory ドメインサービス(AD DS) LDAP ローカルコンピューターの Windows ユーザー認証 フォームベース認証 ASP.NET SQL Server データベース認証プロバイダー といった方法があります。

すでに Active Directory LADP でユーザーを管理している組織では AD DS LDAP を使用して認証をおこなうように構成すると一元管理できて便利です。

しかし 小規模グループで SharePoint を利用する場合に AD DS LDAP を新たに構築するのは大げさかもしれません。そんなときは ユーザーをデータベースで管理することができるフォームベース認証が便利です。AD DS LDAP を必要とせず SharePoint の仕組みの中でユーザー管理を完結させることができます。

今回は SharePoint のフォームベース認証 FBA:Forms Based Authentication を便利にしてくれる SharePoint 2013 FBA Pack を紹介します。SharePoint 2013 FBA Pack をインストールすると次のことができるようになります。

  • SharePoint のサイト設定ページからユーザーの作成 編集 削除 検索ができるようになります。
  • ユーザーが自身のパスワードを変更することができるようになります。
  • パスワードリカバリー。パスワードを忘れてしまったユーザーが自身の操作で新しいパスワードを発行することができます。管理者がパスワードを再発行する必要がありません。

前提条件

Windows Server 2012 R2 SharePoint Foundation 2013 SP1 がインストールされている前提での手順説明となります。SharePoint Foundation 2013 SP1 のインストールについては SharePoint Foundation 2013 SP1 をインストールする を参照してください。

SQL Server データベースを構成する

FBAPack の使用は SharePoint でフォームベース認証が構成されていることが前提となっています。まずはフォームベース認証用の SQL Server データベースを構成していきます。

エクスプローラーで C:¥Windows¥Microsoft.NET¥Framework64¥v4.0.30319 を開いて aspnet_regsql.exe を実行します。

ASP.NET SQL Server セットアップ ウィザードを進めていきます。

セットアップ オプションの選択では アプリケーション サービスのために SQL Server を構成する を選択します。

サーバー名には SQL Server インスタンスを指定します。SharePoint Foundation 2013 をスタンドアロンでインストールしている場合はインスタンス名が SHAREPOINT となっています。サーバー名の末尾に ¥SHAREPOINT を追加します。

以下のメッセージが表示されれば完了です。

IIS の認証プロバイダーを構成する

インターネット インフォメーション サービス (IIS) マネージャー を起動します。サイト SharePoint - 80 を選択して 接続文字列 を開きます。

img

LocalSqlServer をダブルクリックして接続文字列を編集します。

  • SQL Server を選択します。
  • サーバー .¥SHAREPOINT を入力します。
  • データベース aspnetdb を入力します。
  • Windows 統合セキュリティを使用する を選択します。

サイト SharePoint - 80 を選択して プロバイダー を開きます。

プロバイダー画面上部の機能として .NET の役割 が表示されていることを確認して 追加... を押します。

以下の内容を入力して 役割プロバイダーを追加します。

  • 種類 SqlRoleProvider (System.Web.Security.SqlRoleProvider, 4.0.0.0) を選択します。
  • 名前 FBARoleProvider を入力します。
  • ConnectionStringName LocalSqlServer を選択します。
  • ApplicationName / を入力します。

プロバイダー画面上部の機能を .NET ユーザー に変更して 追加... を押します。

以下の内容を入力して ユーザープロバイダーを追加します。

  • 種類 SqlMembershipProvider (System.Web.Security.SqlMembershipProvider, 4.0.0.0) を選択します。
  • 名前 FBAMembershipProvider を入力します。
  • ConnectionStringName LocalSqlServer を選択します。
  • ApplicationName / を入力します。
  • EnablePasswordReset True に変更します。
  • RequiresUniqueEmail True に変更します。
  • StorePasswordInSecureFormat True に変更します。

これで SharePoint - 80 サイトの認証プロバイダーの構成が完了しました。SharePoint Web Services サイトに対しても同じ操作をおこなって認証プロバイダーを構成してください。

SharePoint Web Services サイトに対して行う作業

  • 接続文字列 LocalSqlServer の内容を編集する
  • プロバイダー 役割 FBARoleProvider を追加する
  • プロバイダー ユーザー FBAMembershipProvider を追加する

手順は SharePoint - 80 とまったく同じです。

SharePoint の認証プロバイダーを設定する

SharePoint 2013 サーバーの全体管理 を起動して セキュリティの 認証プロバイダーの指定 を選択します。

認証プロバイダーの領域 既定 をクリックすると 認証の編集が表示されます。クレーム認証の種類を以下のように変更して保存します。

  • フォーム ベース認証 (FBA) の有効化 にチェックを入れます。
  • ASP.NET メンバーシップ プロバイダー名 FBAMembershipProvider を入力します。
  • ASP.NET ロール マネージャー名 FBARoleProvider を入力します。

SharePoint 2013 FBAPack 1.3.4 をインストールする

以下のサイトにアクセスして SharePoint2013FBAPack.1.3.4.zip をダウンロードします。

ダウンロードした SharePoint2013FBAPack.1.3.4.zip を適当なフォルダに展開します。

管理ツールサービス を開いて SharePoint Administration サービスを 開始 します。

SharePoint 2013 管理シェル を起動して SharePoint2013FBAPack.1.3.4.zip を展開したフォルダに移動します。以下のように SharePoint サイトを指定して deploy コマンドを実行します。

.¥deploy http://svr01/

FBAPack のインストールを確認する

ブラウザーを起動して SharePoint サイトにアクセスします。既定のサインインページを使用する設定でフォームベース認証を有効化しているため はじめに認証方法を選択する画面が表示されます。まだユーザーを作成していないので Windows 認証 を選択して管理者アカウントでサインインします。

サイトの設定 を開いて ユーザーと権限 FBA Membership Request Management FBA Site Configuration FBA User Management FBA Role Management が表示されていれば FBAPack のインストールは成功です。

ユーザーを作成する

FBA User Management を開いて New User をクリックするとユーザー情報を入力する画面が表示されます。ユーザー情報を入力して OK を押します。

ユーザーをサイトのメンバーとして追加する

ユーザーを作成しただけでは まだサイトにアクセスすることはできません。ユーザーをサイトのメンバーとして追加する必要があります。

サイトの設定 ユーザーとグループ を開き 新規 ユーザーの追加 を選択します。作成したユーザー名を入力して 共有 を押します。

作成したユーザーでアクセスしてみる

新たにブラウザーを起動して SharePoint サイトにアクセスします。同じコンピューターでアクセスする場合は 管理者アカウントで自動ログオンしてしまわないように InPrivate ブラウズを使用します。

認証の種類として フォーム認証 を選択します。

フォーム認証 を選択すると サインインするためのフォームが表示されます。作成したユーザーのユーザー名とパスワードを入力して サインイン を押します。

SharePoint サイトが表示されて ページ右上に作成したユーザーの名前が表示されていれば成功です。

この記事を共有しませんか?