• Top
  • > Blog
  • > [AppPot v1.2 新機能] ActiveDirectory、LDAP...
2014/10/24 Enterprise BaaS製品“AppPot”, MBaaS, MEAP, スマートデバイス x 企業システム, 企業システム

[AppPot v1.2 新機能] ActiveDirectory、LDAPによる認証機能を追加

先日、AppPot v1.2をリリースしました。
このバージョンではマルチテナントの対応や、社内のWebサービスを簡単に呼び出す機能などが追加されています。
今日は、その中でも個人的にすごく気に入っているAppPotの認証機能の拡張について書きたいと思います。


 

v1.1までは認証するためのユーザーの格納場所はAppPot内のDBのみだけでした。今回のバージョンからMicrosoft社のActive Directoryと、LDAPに対応しました。

それぞれにメリットがあり、使い方によってどの方式を使用するかを選択することができます。

AppPot DB方式

AppPotに付属する管理コンソールだけで、ユーザーの管理を完結できます。
社内の社員マスターからデータを持ってくるためには、日次バッチなどで取り込みをおこないます。

Active Directory方式

ActiveDirectoryやLDAPで既に統合認証の仕組みがある場合、
AppPotからユーザーの認証をActiveDirectory、LDAPサーバーに任せることができます。
これによりユーザーやパスワードの一元管理ができ、社員の退職などによるアカウントの停止をリアルタイムに行うことができます。

こちらの場合、ユーザーのパスワードはAppPot内で持ちません。
ただし、AppPot内でのデータの参照範囲や、ロールの割当てを
制御するためにユーザーの情報のみはAppPot内で管理します。

LDAP

Active Directoryと同様ですが、認証先としてLDAPを使用することができます。

認証方式の切替

どの認証の仕組みを使用するかは、AppPot内に含まれるbeans.xmlで切り替えます。

beans.xml設定ファイルのサンプル

      DB認証方式の場合
<alternatives>
    <class>jp.co.ncdc.stew.auth.data.DBUserDataProvider</class>
</alternatives>
        AD認証方式の場合
    <alternatives>
        <class>jp.co.ncdc.stew.auth.login.local.ldap.ActiveDirectoryBindProvider</class>
    </alternatives>
    
        LDAP認証方式の場合
    <alternatives>
        <class>jp.co.ncdc.stew.auth.login.local.ldap.DefaultLdapBindProvider</class>
    </alternatives>
    

    接続情報の設定ファイル

    #Configuration LDAP server
    stew.auth.ldap.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
    stew.auth.ldap.java.naming.security.authentication=Simple
    stew.auth.ldap.java.naming.provider.url=ldap://<ホスト名>:<ポート番号>
    stew.auth.ldap.EnvParam.com.sun.jndi.ldap.connect.pool=true
    
    # LDAPに接続する場合
    stew.auth.ldap.UserDNPattern=uid={UserName},dc=apppot,dc=com
    
    #Active DirectoryにUPN形式で接続する場合。ユーザーアカウントの@マーク以下にあたる文字列を指定
    stew.auth.ldap.ad.UserDomain=apppot.ne.jp
    

    アプリ側はいつものLogin APIを使用するだけで、サーバー側の認証の仕組みはまったく意識する必要はありません。

    この認証機能の拡張によって、企業でのスマートデバイス活用がより簡単にできるようになりました。

    その他にも、AppPotはOpenID ConnectをサポートしたID製品との連携も準備中です。

記事一覧へ