浏览代码

Allow subclasses to add their own custom GrantedAuthority[]s.

Ben Alex 21 年之前
父节点
当前提交
7ac3706eb9
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      core/src/main/java/org/acegisecurity/userdetails/jdbc/JdbcDaoImpl.java

+ 13 - 0
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 <code>User</code>.
+     *
+     * @param username the username, for use by finder methods 
+     * @param authorities the current granted authorities, as populated from
+     *        the <code>authoritiesByUsername</code> mapping
+     */
+    protected void addCustomAuthorities(String username, List authorities) {}
+
     protected void initDao() throws ApplicationContextException {
         initMappingSqlQueries();
     }