Esta es la pregunta que me ha surgido, lo primero que pense fue hacer un servicio WCF que me devolviera el usuario autenticado, pero aplicando KISS (hazlo simple estupido) me di cuenta que los objetos SilverLight tienen la propiedad InitParameters en la cual se puede indicar un string de los parametros con el formato nombreparametro=valorparametro y separados por comas, asi que era tan sencillo como en la pagina Web indicarle la instrucción
sl.InitParameters += "user=" + HttpContext.Current.User.Identity.IsAuthenticated + ",username=" + HttpContext.Current.User.Identity.Name;
El segundo paso es en el objeto SilVerlight crear un constructor nuevo con los parametros que queremos tener, en este caso si el usuario esta autenticado y su nombre
Luego en el fichero App.xaml.cs que realiza la llamada nuestro objeto SilverLight con los nuevos parametros
this.RootVisual = new Page(e.InitParams["user"], e.InitParams["user"], username);
Y ya tenemos si el usuario esta autenticado sin ningún servicio