Updated Branches: refs/heads/cassandra-1.2 f51c962ed -> 30b093a71 refs/heads/trunk 0f09cc5a1 -> 4bdf38b5c
make auth config a bit friendlier Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/30b093a7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/30b093a7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/30b093a7 Branch: refs/heads/cassandra-1.2 Commit: 30b093a715e61fd7773ebee3a49096cf9544421f Parents: f51c962 Author: Jonathan Ellis <jbel...@apache.org> Authored: Mon Jun 10 06:42:04 2013 -0500 Committer: Jonathan Ellis <jbel...@apache.org> Committed: Thu Jun 13 21:20:33 2013 -0700 ---------------------------------------------------------------------- conf/cassandra.yaml | 4 ++-- .../apache/cassandra/config/DatabaseDescriptor.java | 4 ++-- .../org/apache/cassandra/utils/FBUtilities.java | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/30b093a7/conf/cassandra.yaml ---------------------------------------------------------------------- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 2d2b484..75ef331 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -66,7 +66,7 @@ max_hints_delivery_threads: 2 # - PasswordAuthenticator relies on username/password pairs to authenticate # users. It keeps usernames and hashed passwords in system_auth.credentials table. # Please increase system_auth keyspace replication factor if you use this authenticator. -authenticator: org.apache.cassandra.auth.AllowAllAuthenticator +authenticator: AllowAllAuthenticator # Authorization backend, implementing IAuthorizer; used to limit access/provide permissions # Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthorizer, @@ -75,7 +75,7 @@ authenticator: org.apache.cassandra.auth.AllowAllAuthenticator # - AllowAllAuthorizer allows any action to any user - set it to disable authorization. # - CassandraAuthorizer stores permissions in system_auth.permissions table. Please # increase system_auth keyspace replication factor if you use this authorizer. -authorizer: org.apache.cassandra.auth.AllowAllAuthorizer +authorizer: AllowAllAuthorizer # Validity period for permissions cache (fetching permissions can be an # expensive operation depending on the authorizer, CassandraAuthorizer is http://git-wip-us.apache.org/repos/asf/cassandra/blob/30b093a7/src/java/org/apache/cassandra/config/DatabaseDescriptor.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index a5bfcf2..941249f 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -206,7 +206,7 @@ public class DatabaseDescriptor /* Authentication and authorization backend, implementing IAuthenticator and IAuthorizer */ if (conf.authenticator != null) - authenticator = FBUtilities.construct(conf.authenticator, "authenticator"); + authenticator = FBUtilities.newAuthenticator(conf.authenticator); if (conf.authority != null) { @@ -217,7 +217,7 @@ public class DatabaseDescriptor } if (conf.authorizer != null) - authorizer = FBUtilities.construct(conf.authorizer, "authorizer"); + authorizer = FBUtilities.newAuthorizer(conf.authorizer); if (conf.internode_authenticator != null) internodeAuthenticator = FBUtilities.construct(conf.internode_authenticator, "internode_authenticator"); http://git-wip-us.apache.org/repos/asf/cassandra/blob/30b093a7/src/java/org/apache/cassandra/utils/FBUtilities.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java b/src/java/org/apache/cassandra/utils/FBUtilities.java index 1f7807d..679e3df 100644 --- a/src/java/org/apache/cassandra/utils/FBUtilities.java +++ b/src/java/org/apache/cassandra/utils/FBUtilities.java @@ -41,6 +41,8 @@ import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.cassandra.auth.IAuthenticator; +import org.apache.cassandra.auth.IAuthorizer; import org.apache.cassandra.cache.IRowCacheProvider; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.config.DatabaseDescriptor; @@ -394,6 +396,20 @@ public class FBUtilities return FBUtilities.construct(partitionerClassName, "partitioner"); } + public static IAuthorizer newAuthorizer(String className) throws ConfigurationException + { + if (!className.contains(".")) + className = "org.apache.cassandra.auth." + className; + return FBUtilities.construct(className, "authorizer"); + } + + public static IAuthenticator newAuthenticator(String className) throws ConfigurationException + { + if (!className.contains(".")) + className = "org.apache.cassandra.auth." + className; + return FBUtilities.construct(className, "authenticator"); + } + /** * @return The Class for the given name. * @param classname Fully qualified classname.