diff --git a/core/src/main/java/org/acegisecurity/userdetails/jdbc/JdbcDaoImpl.java b/core/src/main/java/org/acegisecurity/userdetails/jdbc/JdbcDaoImpl.java
index afba107dff..f435b63228 100644
--- a/core/src/main/java/org/acegisecurity/userdetails/jdbc/JdbcDaoImpl.java
+++ b/core/src/main/java/org/acegisecurity/userdetails/jdbc/JdbcDaoImpl.java
@@ -179,12 +179,25 @@ public class JdbcDaoImpl extends JdbcDaoSupport implements AuthenticationDao {
}
GrantedAuthority[] arrayAuths = {};
+
+ addCustomAuthorities(user.getUsername(), dbAuths);
+
arrayAuths = (GrantedAuthority[]) dbAuths.toArray(arrayAuths);
return new User(user.getUsername(), user.getPassword(),
user.isEnabled(), arrayAuths);
}
+ /**
+ * Allows subclasses to add their own granted authorities to the list to be
+ * returned in the User.
+ *
+ * @param username the username, for use by finder methods
+ * @param authorities the current granted authorities, as populated from
+ * the authoritiesByUsername mapping
+ */
+ protected void addCustomAuthorities(String username, List authorities) {}
+
protected void initDao() throws ApplicationContextException {
initMappingSqlQueries();
}