瀏覽代碼

SEC-393: More elegantly deal with setProviders(List) type safety enforcement.

Ben Alex 19 年之前
父節點
當前提交
2984913051
共有 1 個文件被更改,包括 2 次插入11 次删除
  1. 2 11
      core/src/main/java/org/acegisecurity/providers/ProviderManager.java

+ 2 - 11
core/src/main/java/org/acegisecurity/providers/ProviderManager.java

@@ -273,17 +273,8 @@ public class ProviderManager extends AbstractAuthenticationManager implements In
         Iterator iter = newList.iterator();
 
         while (iter.hasNext()) {
-            Object currentObject = null;
-
-            try {
-                currentObject = iter.next();
-
-                //TODO bad idea, should use assignable from or instance of 
-                AuthenticationProvider attemptToCast = (AuthenticationProvider) currentObject;
-            } catch (ClassCastException cce) {
-                throw new IllegalArgumentException("AuthenticationProvider " + currentObject.getClass().getName()
-                    + " must implement AuthenticationProvider");
-            }
+            Object currentObject = iter.next();
+            Assert.isInstanceOf(AuthenticationProvider.class, currentObject, "Can only provide AuthenticationProvider instances");
         }
 
         this.providers = newList;