aclがどうも違うみたいですね・・・

これってRoleに登録されてないユーザーをisAllowedすると
例外投げるじゃないですか?で、認証かけたユーザーもaddRoleしようとすると、
先にDBに問い合わせて登録したユーザーと被ったときに例外投げる
(つまり認証が成功するユーザーからの問い合わせの時に、そのRoleは既にいますと)。

と言うことはDBに登録されてるユーザー全員をRoleに登録して
その全ページをリソースに登録して、しかも権利も登録して使う物なのですか?

まさか、例外キャッチして・・・ってことはないですよね。

使いどころが良くわかりません・・・・
まあ、Authは便利なのでそれは使って、ユーザーが権利があるかどうかは
自分で実装できるので問題ないのですが
便利なのに、勘違いしていたらもったいないかな、とおもって。

ちなみに404とは別人です