mmm...

, en mi caso para hacer la autentificacion (me imagino que tambien estás usando autentificacion por medio de forms) lo que hago es que tengo en mi BD una tabla llamada roles y dependiendo del usuario que se firme recoger dichos roles y asignarlos al GenericPrincipal.
Ejemplo.
Cita: Dim roles() As String
roles = 'Llamo a una funcion que cosulte mi BD dependiendo del usuario que se haya firmado
Dim roleStr As String = ""
Dim role As String
'Recorro los roles y los guardo en una variable separados por ;
For Each role In roles
roleStr += role
roleStr += ";"
Next role
'Después creo un ticket de una cookie para guardar el usuario, expiracion, los roles, etc (no es cookie persistente)
Dim ticket As New FormsAuthenticationTicket (1, _
Context.User.Identity.Name, _
DateTime.Now, _
DateTime.Now.AddHours(1), _
False, _
roleStr)
'encripto para mantenter seguridad en la cookie.
Dim cookieStr As String = FormsAuthentication.Encrypt (ticket)
'Envío la cookie al cliente:
Response.Cookies("roles").Value = cookieStr
Response.Cookies("roles").Path = "/"
Response.Cookies("roles").Expires = DateTime.Now.AddMinutes(1)
Context.User = New GenericPrincipal(Context.User.Identity, roles)
Espero que con este ejemplo te des una mejor idea.