瀏覽代碼

Modified to support changes to interface.

Ben Alex 21 年之前
父節點
當前提交
8c69eb6abb
共有 1 個文件被更改,包括 16 次插入1 次删除
  1. 16 1
      samples/contacts/src/main/java/sample/contact/ContactSecurityVoter.java

+ 16 - 1
samples/contacts/src/main/java/sample/contact/ContactSecurityVoter.java

@@ -55,8 +55,23 @@ public class ContactSecurityVoter implements AccessDecisionVoter {
         }
     }
 
-    public int vote(Authentication authentication, MethodInvocation invocation,
+    public boolean supports(Class clazz) {
+        if (MethodInvocation.class.isAssignableFrom(clazz)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    public int vote(Authentication authentication, Object object,
         ConfigAttributeDefinition config) {
+        if ((object == null) || !this.supports(object.getClass())) {
+            throw new IllegalArgumentException(
+                "Does not support the presented Object type");
+        }
+
+        MethodInvocation invocation = (MethodInvocation) object;
+
         int result = ACCESS_ABSTAIN;
         Iterator iter = config.getConfigAttributes();