« 「情報セキュリティ対策のすすめ」 | トップページ | 不知入的方法, 如何能看内 »

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

|

« 「情報セキュリティ対策のすすめ」 | トップページ | 不知入的方法, 如何能看内 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/79953/47947246

この記事へのトラックバック一覧です: ActiveDirectoryのユーザー名とパスワードを利用して認証するRubyスクリプト:

« 「情報セキュリティ対策のすすめ」 | トップページ | 不知入的方法, 如何能看内 »