2012年12月22日土曜日

Ext JS4でコンボボックスのローディングマスクが止まらない

ExtJSのコンボボックスで、ローディングマスクが出っぱなしで選択できないという現象が出ちゃって困ってました。
よくある県のコンボボックスを選んだら市のコンボボックスの内容が変わるみたいなアレです。
この2番目のコンボボックスで問題は起きました。
色々頑張ったけど解決せず。
そしてExtJSのフォーラムでそれらしいのを発見
ビンゴでした。

オチとしては ExtJS4.1を使いなさいと。
そもそもなんで4.0.7を使ったんだろ…

Ext JS Community Forums 4.x / Ext: Q&A / Problem with a never ending loading mask

Ext JS + jax-rs (jerseyでちょっとハマり)

Ext JS + jax-rsってのをやってます。

いいですね。コレ。
やりたいことはだいたい出来ます。いままでExt JSをやらなかったことをちょっと後悔。
jax-rsはjersey使ってます。

Spring + myBatis + jersey ( + struts2) という構成。


そんなJerseyで軽くハマりまして。
いつもの様にまずはググって出てきたサイトを参考にしながら作ってみたんだけど、JSONをPOJOにマッピングするのってが動かない。
色々調べたら、サーブレットのinit-paramに、↓↓こんなの↓↓


 com.sun.jersey.api.json.POJOMappingFeature
 true

が要ると。
Jerseyのドキュメントにモロに書いてありますね。
ちゃんと読みましょう。


Jerseyの黄色いジャージって、ランス・アームストロングマイヨジョーヌのイメージなんだろうなって思うのですが、剥奪されちゃってアレですね。
でもグレッグ・レモンもツール連勝のアメリカ人レジェンドなのよん。

2012年11月17日土曜日

もろもろの認証をLDAPにする with OpenDJ

Apacheの基本認証(Subversion用)とredmineとjenkinsの認証をLDAPにする。
他にも増えそうだし、バラで管理するのは面倒なので。
LDAPサーバはOpenDJを選択。
以前OpenAM(OpenSSO)をいじったことがあって、あれはOpenDJ(OpenDS)がセットなので何となく慣れがあるような気がしたが、気がしただけだった。

1. OpenDJのインストール

  • OpenDJをgetしてunzip
# wget http://download.forgerock.org/downloads/opendj/2.5.0-Xpress1/OpenDJ-2.5.0-Xpress1.zip
# unzip OpenDJ-2.5.0-Xpress1.zip
  • 出来たディレクトリに移動してセットアップ
# ./setup --cli (← CUIでのセットアップはこのオプション)
  • 初期ルートユーザー DN
  • パスワード
  • 自己署名証明書の生成に使用される完全修飾ホスト名または IP アドレス
  • ポート(デフォルト:389)
  • 管理コネクタのポート(デフォルト:4444)
  • ベースDN
  • SSLを有効にするかどうか
  • LDAPSのポート
  • Start TLSを有効にするかどうか
  • 証明書サーバーのオプション:
を答えて出来上がり。
  • OS起動時に起動されるように設定
# /openDJをインストールしたディレクトリ/bin/create-rc-script --outputfile /etc/init.d/opendj
# chkconfig opendj on

2. LDAPにユーザ登録

  • WindowsにOpenDJをインストール(展開しただけ)して、コントロールパネルを使って登録。
  • LDAP検索用ユーザも作る
  • jenkinsの管理者ユーザも作る

3. Apacheの基本認証(Subversion用)

  • こんな感じ。
AuthType Basic
AuthName "なんか名前"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off  #ldapがダメでもほかの認証に行かない
AuthLDAPURL ldap://hostname/ou=people,dc=foo,dc=bar?uid
AuthLDAPBindDN "cn=LDAP,ou=people,dc=foo,dc=bar"
AuthLDAPBindPassword "yourpassword"
Require valid-user

4. redmineのLDAP認証設定

  • 管理ユーザでログインして、設定 > LDAP認証 で "新しい認証方式”を登録。設定例は↓↓↓こんな感じ。
名称:ONE STEP BEYOND
ホスト:hostname
ポート:389
アカウント:cn=LDAP,ou=people,dc=foo,dc=bar
パスワード:*********
検索範囲:ou=people,dc=foo,dc=bar
LDAPフィルタ:
ログイン:uid
名前:givenName
苗字:sn
メールアドレス:mail
  • LDAP認証したいユーザの”認証方式”をLDAP認証で作ったものに変更。

5. jenkinsのLDAP認証設定

  • 管理ユーザでログインする。
  •  jenkinsの管理 > システムの設定 で アクセス制御-ユーザ情報のラジオボタンで"LDAP"を選択。
  • ”高度な設定”ボタンを押して、LDAPの情報を登録。
サーバー:hostname
root DN:dc=foo,dc=bar
未指定を許可(チェックボックス):チェックしない
User search base:oc=people
User search filter:uid={0}
Group search base:
管理者のDN:cn=LDAP検索ユーザ,ou=people,dc=foo,dc=bar
管理者のパスワード:*********
  • jenkinsはユーザごとに認証方式を選択できないので、設定を登録したらログアウトしないで別のブラウザでログイン可能かどうか確認する。

6.pam

sshでしか入らないので、OSの認証ってsuぐらいしか使わない。ということはほぼ使わない。
というわけで今回はやめ。