徒然なるままに、日ぐらしP/Cに向ひて――
メインメニュー
ブログカレンダー
2015年 9月
« 8月   10月 »
 12345
6789101112
13141516171819
20212223242526
27282930  
WordPress カテゴリ一覧
WordPress 検索


富士カメラ5

Kestrel とは、チョウゲンボウのことです。ハトくらいの小さな猛禽類、つまりワシの仲間で、ハヤブサに似ています。
チョウゲンボウにはホバリングという特技があります。よく農地の上空で空中に停止している姿が見られます。小さいけれどカッコイイ、そして最近は都会でも繁殖している頼もしいタカです。
このサイトのURLは、そんなチョウゲンボウから名前を借りました。

2015年9月7日(月曜日)

秋の味覚

カテゴリー: - flyman @ 23時33分31秒
地場物の栗が並び始めた。
落花生といえば秦野だ。

さて、RailsでLDAPを扱う方法はいくつかあるが、今回はActiveLdapを試してみた。

Gemfile に以下を追加
| gem ‘activeldap’, :require => ‘active_ldap/railtie’
| gem ‘net-ldap’
bundle updateする

コマンドプロンプトで以下を入力
# rails generate active_ldap:scaffold
Config/ldap.yml が生成されるので、適宜修正する
アプリ起動時に、この設定で自動的にコネクションが実行されるので、ActiveLdap::Base.setup_connection コマンドは不要

コマンドプロンプトで以下を入力 (User モデルのとき。適宜読み替えて)
# rails generate active_ldap:model User
/models/User.rb が生成されるので、適宜修正する

データ抽出(全件)には、Controllerなどに以下の様に書く
| @users = User.find(:all)

例えば、config/ldap.ymlのbaseが、
base: dc=kestrel,dc=jp
で、User.rbが、
ldap_mapping :dn_attribute => “cn”, :prefix => “ou=users”
だとして、
User.find("YOKOYAMA")
とすると、
DN: cn=YOKOYAMA, ou=users, dc=kestrel, dc=jp
が検索される。

データの属性値は、次のように参照する
| @users.each do |user|
| print user.cn,"\n”
| end

値が複数ある属性は配列で返される
例えば、複数部署に所属している人がいる場合、
if user.departmentNumber.kind_of?(Array)
print user.departmentNumber[0], “\n”
else
print user.departmentNumber, “\n”
end
の様に判別できる

ここまで確認したが、う?ん、ビミョー。
ActiveLdapって、便利なのか? Net-ldapでゴリゴリ書いてもそれほど違わないような気が。
User.find(:all).order(:cn) とか書けたら素敵なんだけど。並び順をコントロールするのが面倒そうだ(orderは使えない)


TrackBacks

このコメントのRSS

TrackBack URL : http://www.kestrel.jp/modules/wordpress/wp-trackback.php/1098

この投稿には、まだコメントが付いていません

コメント

_CM_NOTICE

20 queries. 0.022 sec.
Powered by WordPress Module based on WordPress ME & WordPress

ヘッドライン
nikkansports
IT Pro
レスポンス
テーマ選択

(4 テーマ)