MS Project Server 2007のSQL認証ではまったところ
ActiveDirectoryを立てられなかったのでSQL認証で構築したけど、はまった点が2つあったのでメモ。
1)ユーザ設定で使うPjFormsAuthUpgrade.exeについて
ユーザ設定用の空XMLを生成する以下のコマンドは問題なく動いた。
PjFormsAuthUpgrade.exe -createemptyusersfile -log form.log –url http://servername:port/pwa -usersfile users.xml
でも、XMLを登録するコマンドはURLが違いますといわれてなぜか動かない。
PjFormsAuthUpgrade.exe -log form.log –url http://servername:port/pwa -usersfile users.xml
Error http://servername:port/pwa not specified.
対策は二つ。一つはコマンドのオプション指定順を以下のようにするらしい。
もう一つはサーバを再起動する。本当です、これで一括登録のバッチが何も変えずに動くようになりました。
PjFormsAuthUpgrade.exe -usersfile users.xml -log form.log –url http://servername:port/pwa
2)SQL認証用のデータベース権限
手順の一番最初にSQL認証用のDBをSQLServerに以下のコマンドでつくる。
aspnet_regsql.exe /A m /E
手順はこれであっているのだけど、ユーザ設定も終わり最後の認証用Webアプリからサインインしようとすると
「不明なエラー」ではじかれる。
散々調べまわった結果、イベントログにSQLSERVERの認証エラーがでていた。
接続ユーザは「NETWORK SERVICE」だったので、SQLServerのログインユーザ権限を確認したところ、aspnetdbにはpublicしかなかった。
ということでaspnet_で始まるロールを割り当てて無事ログイン完了。
もしかしたらweb.configのConnectionStringで直接ユーザとパスワードを指定しても動きそうな気がする。
特に2は手順として致命的な気がするけど誰もはまったことがないんだろうか?Webにもそれらしい記述が見つからなかったけど・・・。