title: Why do JdbcDaoImpl need a role prefix when load user/group authorities?
body: <p>Why do JdbcDaoImpl need a role prefix when load user/group authorities?</p>
  <pre><code>    protected List&lt;GrantedAuthority&gt; loadUserAuthorities(String username) {
          return getJdbcTemplate().query(this.authoritiesByUsernameQuery, new String[] { username }, (rs, rowNum) -&gt; {
              String roleName = JdbcDaoImpl.this.rolePrefix + rs.getString(2);
              return new SimpleGrantedAuthority(roleName);
          });
      }
  </code></pre>
  <pre><code>    protected List&lt;GrantedAuthority&gt; loadGroupAuthorities(String username) {
          return getJdbcTemplate().query(this.groupAuthoritiesByUsernameQuery, new String[] { username },
                  (rs, rowNum) -&gt; {
                      String roleName = getRolePrefix() + rs.getString(3);
                      return new SimpleGrantedAuthority(roleName);
                  });
      }
  </code></pre>
  <p>I guess a role is a <code>GrantedAuthority</code> that starts with the role prefix like <code>ROLE_</code>, but why <code>loadUserAuthorities</code> method treat each <code>GrantedAuthority</code> as a role? I am confused here.</p>