** 一般的な四郎の注釈
** @RequiresAuthentication:**
このアノテーションが付けられたクラス、インスタンス、およびメソッドは、アクセスまたは呼び出されたときに、現在のセッションで現在の Subject が認証されている必要があります。
@RequiresGuestです。
このアノテーションが付けられたクラス、インスタンス、およびメソッドは、認証や元のセッションの記録がなくても、現在の Subject を "gust" としてアクセスまたは呼び出すことができます。
許可を必要とします。
このアノテーションでマーク付けされたメソッドを実行するには、現在のサブジェクトに特定のパーミッションが必要です。現在のサブジェクトにそのような権限がない場合、メソッドは実行されません。
RequiresRoles。
このアノテーションで修飾されたメソッドにアクセスするには、現在の Subject が指定されたすべてのロールを持 つ必要があります。現在の Subject も指定されたすべてのロールを持っていない場合、メソッドは実行されず、AuthorisationException がスローされます。
** @RequiresUser:**
このアノテーションでマークされたクラス、インスタンス、およびメソッドにアクセスまたは呼び出 すには、現在の Subject がアプリケーションのユーザである必要があります。
application.xmlまたはshiro.xmlで設定し、純粋なアノテーション・アプローチでは以下のコード1とコード2を無視します。
コード1
<!-- shiroアノテーションのサポートを有効にする。>
<bean id="defaultAdvisorAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
<!-- trueに変更する必要がある。つまり、cglibメソッドを使用してActionのプロキシ・オブジェクトを作成する。デフォルト値はfalseで、JDKを使用してプロキシ・オブジェクトを作成すると問題が発生する--。>
<property name="proxyTargetClass" value="true"></property>
</bean>
<!-- shiroフレームワークが提供するカットオーバークラスを使用して、プロキシオブジェクトを作成する--。>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"></bean>
~~~
コード2




