1

私は、春のmvc3.0.5とzk5.0.8を管理者として使用するWebアプリケーションでshiro1.1.0を使い始めました。shiroアノテーションが機能していなかったので、セキュリティアプリケーションのコンテキストでrequredrolesを指定しました:

/admin = authc, roles[ADMIN]

これは正常に動作し、私が作成した自動化されていないページにリダイレクトします。これでアノテーションが機能するようになったので、クラスの上で@RequiresRoles(value = {"manager"、 "admin"、 "superadmin"})を使用しました。

@RequiresRoles(value = {"manager","admin","superadmin"})
public class ContentController extends GenericForwardComposer {...}

そしてそれは投げます

org.apache.shiro.authz.UnauthorizedException:サブジェクトにロール[マネージャー]がありません

この種の認証を取得するために注釈を使用するときにアクティブにするものはありますか?

これを読んでくれてありがとう。

4

1 に答える 1

0

RequireRoles javadocによると、クラスではなくメソッドで定義する必要があります。現在のサブジェクトに必要なロールがない場合、Shiro はアクセス拒否ページにリダイレクトする必要があります。

[更新] Shiro issue tracker で同じ問題が未解決の問題になっているようです。したがって、クラスレベルでも適用できるはずです。関連スレはこちら。

于 2012-03-06T01:22:39.847 に答える