title: when loadUserByUsername is invoked? (spring security)
body: <p>I'm learning <code>Spring Security</code> and I have few quick questions respect <code>UserDetailsService</code>:</p>
  
  <p>1- When <code>loadUserByUsername</code> is actually called or invoked? After authentication? Only once per login?</p>
  
  <p>2- After login, will Spring put the actual logged user into httpSession?</p>
  
  <p>3- Which is the recommended way to populate the collection of <code>&lt;GrantedAuthority&gt;</code> of <code>UserDetails</code>?</p>
  
  <ol>
  <li>Eagle fetch them so when loadUserByUsername is called, the returned user already has it's "ROLES"</li>
  <li>Implement another custom filter like <code>UsernamePasswordAuthenticationFilter</code> populate after success login?</li>
  <li>Neither of above…</li>
  </ol>