For experimenting, I've tried Arch.  It's where a lot of people these days are ending-up after having tried LFS or Gentoo long ago.  Frankly, it's a bit raw as intended and reminds me of Slack.  That said, I :heart: GNU/Linux.

I've found FreeBSD has numerous practical advantages:


Developed as a whole.
Security.
Root ZFS (GPT/EFI) install guide works. (CDDL of course)
+= ports(Nonfree(TM) + GNU), I've been able to run everything from


Scipy
Hadoop
Jenkins
Puppet
Varnish (of course)
Riak
Haskell platform
Side-by-side ruby(187, ree, 193, jruby) with AND without rvm, python(272,322) with AND without pythonbrew 



The freebsd source ports are pretty current, and easy as any Ubuntu LTS/Debian or Arch.  I'm probably biased as I'm a sysadmin that started in the early Slackware days.

There isn't much I can find wrong with FreeBSD other than it's not quite as new and shiny as Arch.  kFreeBSD and the Nexenta desktop variants would also be interesting. 

What does Arch Linux offer?
I am using spring security and for database based authentication I used following configuration and its working fine

&lt;authentication-manager alias="authenticationManager"&gt;
  &lt;authentication-provider&gt;
     &lt;jdbc-user-service data-source-ref="dataSource"
      users-by-username-query="SELECT ...... U.email_address=?"
      authorities-by-username-query="SELECT ... U.email_address=?"&gt;
  &lt;/authentication-provider&gt;
&lt;/authentication-manager&gt;


now I wanted to add extra info to the session and came across Adding user to session, spring security default login, I tried it and now I have a problem.

XML says I cant use user-service-ref and jdbc-user-service combined. Is there a way to sort it out or else what I have to do if I have to use user-service-ref tag only to authenticate users? What can be the other way to add extra info say a whole Users object to the session.?

Your help will be appreciated.
