« 2010年2月 | トップページ | 2010年4月 »

2010年3月の1件の記事

2010/03/30

ActiveDirectoryのユーザー名とパスワードを利用して認証するRubyスクリプト

これまで、自分でユーザー名とパスワードを管理するCGIを作ってWebアプリケーションを作成してきましたが、ActiveDirectoryでユーザーを管理している環境では、自分でパスワード管理をするよりこちらで統一する方が便利のような気がしてきました。

数ヶ月、または1年以内にはパスワードを変更することなど、自分で仕掛けを作るのが少し面倒になってきたので、RubyでActiveDirecrotyを利用する方法を調べてみました。

ということで、以下の方法で可能みたい。

まず、RubyGemsでruby-net-ldapをインストールします。

$ sudo gem install ruby-net-ldap

次は下記のスクリプトで、動作確認。

require 'rubygems'
require 'net/ldap'

host = "ホスト名"
port = "389" #ポート番号
domain = "ドメイン名"

user = "ユーザー名"
pass = "パスワード"

net_ldap = Net::LDAP.new(
  :host => host,
  :port => port,
  :auth => {
    :method => :simple,
    :username => "#{user}@#{domain}",
    :password => pass
  }
)

put net_ldap.bind

これで「true」と表示されれば、認証成功...と思いきや、パスワードを空白にするだけで認証が成功してしまうではないですか。ということで、そのへんをちょこちょこ修正して完成。

これをCGIとして実行出来るようにしたスクリプトをついでにアップしてみます。もし興味のある方がおられれば参考にしてみて下さい。

adtext.rb

| | コメント (0) | トラックバック (0)

« 2010年2月 | トップページ | 2010年4月 »