Originariamente inviato da stefanomnn
ciao, che io sappia devi reimpostare i ruoli nell 'evento Request_authenticated ( nel global.asax:

innanzi tutto, quando fai il login, devi salvarti nel cookie di autenticazione la stringa contenente i ruoili: qui puoi trovare un esempio:
http://msdn.microsoft.com/it-it/libr...ionticket.aspx

A questo punto, nel global.asax metti questo codice:


Codice PHP:
        protected void Application_AuthenticateRequest(object senderEventArgs e)
        {
            if (
Context.User != null && Context.User.Identity.IsAuthenticated)
            {
                
//user authenticathed; let's recovery information from his "ticket"
                
FormsIdentity userIdentity = (FormsIdentity)Context.User.Identity;
                
FormsAuthenticationTicket loginUserInfo userIdentity.Ticket;
                
                
//recovery user roles from private user data
                
string[] roles loginUserInfo.UserData.Split(",".ToCharArray());

                
//change current identity for running in specific role.
                //GenericPrincipal is an object with a Pair Identity/[associated roles]
                
Context.User = new GenericPrincipal(Context.User.Identityroles);
            }
        } 
ciao allora... ho provato ad inserire questo codice nel login :
codice:
  Session("ID_Utente") = oObj.ToString

                    FormsAuthentication.SetAuthCookie(Me.txtUser.Text, True)



                    '-------------------Profilo---------------------
                    Dim ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _
                            Me.txtUser.Text, _
                           DateTime.Now, _
                           DateTime.Now.AddMinutes(30), _
                           True, _
                             "Admin", _
                            FormsAuthentication.FormsCookiePath)


                    Dim encTicket As String = FormsAuthentication.Encrypt(ticket)
                    Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, encTicket))
                    '----------------------------------------
e questo nel Global.asax
codice:
 Protected Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
      
        If Not (HttpContext.Current.User Is Nothing) Then
            With HttpContext.Current.User
                If .Identity.IsAuthenticated Then
                    Dim Roles As ArrayList
                    Roles(0) = "admin" ' Data.GetUserRoles(User.Identity.Name)
                    Dim ID As FormsIdentity = CType(.Identity, FormsIdentity)
                    HttpContext.Current.User = New System.Security.Principal.GenericPrincipal(ID, Roles)
                End If
            End With
        End If
prelevato da
http://www.google.it/codesearch?hl=i...global.asax.vb



la mia preoccupazione è come fare a prendermi il profilo dell'utente dal global.asax, in quanto io nel login lo memorizzo nella sessione, e nel global.asax non mi fa accedere alle sessioni!
oltre a questo problema mi pare che sia tutto a posto