1,230 views(since 2013/10/08)

SP2013オンプレミス, フォームベース認証、クレームベース、カスタムログインページ、カスタムメンバーシップの組み合わせ。(sharepoint 2013 on-premise form based authentication (claims based) with custom login page and custom membership provider)

SharePoint 2010からクレームベース認証を使うのが推奨になりました。2013からは必須になったようです。
フォームベース認証をクレームベースにする場合には[sharepoint 2013 security token service(セキュリティトークンサービス)]のWeb.configのカスタマイズも必要になります。
また[custom membership provider(カスタムメンバーシッププロバイダー)]を使うと、さらに複雑になってきますのでポイントだけ書いておきます。

  1.  Configuring SharePoint2013 Forms-Based Authentication with Custom MemberShipProvider(フォームベース認証でカスタムメンバーシッププロバイダーを設定する)
    1. Image(MSDNより http://msdn.microsoft.com/en-us/library/office/hh394901(v=office.14).aspx) High-level claims-based authentication process
    2. Enable Form Based Authentication (FBA) – フォームベース認証を有効にする
      1. MSDNより、以下は SQL membershipだが自作のCustommbershipを追加する。
        clip_image003
      2. FBAのURLをいれておく xxxxxx/LoginPage.ASPX–>Web.configを書き換えてくれる。
      3. Allow Annonymousにする。
  2. Congiure  Web.config  of Sharepoint Application (アプリケーションページの設定)
    1. ASP.NET forms Auth Allowing access to Specific file Master page and  LoginPage.ASPX – ログインページとマスターページにアクセス許可しておく。
      1. <locationpath=“~/XXXXX/Default.aspx”> ~省略~<allow users=“*”/>~省略~
      2. <locationpath=“~/XXXXX/xxxx.master”~省略~<allow users=“*”/>~省略~
    2. Add  Custom membership provider (自分で作成した Custom membership providerを追加する。)
    3. Add  Custom memberShip provider to People Picker Pickup
      これでメンバーシップを読んでSharePointのユーザ等追加できるようになる。
  3. Configure Web.config of Sharepoint Security Token Service (セキュリティトークンサービス)
    1. Add Custom memership provider
      クレイムベース認証の際に、Windows認証だけでなく 自分で作成したCustom Membership Providerで認証できるようになる。
    2. Custom Membership Provider    のvalidateuser内でチェックがされるので、できたらここで認証チェックのプログラムを書く
  4. Configure Web.config of Sharepoint Central Administration (Sharepoint サーバの全体管理)
    1. Add Custom membership provider (自分で作成した Custom membership providerを追加する。)
    2. Add Custom memberShip provider to People Picker Pickup
  5. Custom LoginPage.apsx
    1. SPClaimsUtility.AuthenticateFormsUser method
      クレイムベース認証を行う。
    2. LoginPage.aspx.cs is inheritanced UnsecuredLayoutsPageBase
      これがないと anonymouse authenticationで 401  or 403 unauthorizedになる
    3. Add  true of AllowAnonymousAccess to LoginPage.aspx.cs
      これがないと anonymouse authenticationで 401  or 403 unauthorizedになる
  6. 注意
    1. alternate access mapping , host-based site  and pass-based site – 代替マッピング、 パスベース及びホスト名付きサイトコレクション、
      1. 設定をしておかないとstsでサイトの存在チェックをしているので、外部からの呼び出しには設定必要です。

Filed Under: SharePoint

About the Author

野呂清二(ご連絡はこちらまで (http://www.exceedone.co.jp/inquiry/)

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.