ciao allora... ho provato ad inserire questo codice nel login :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 sender, EventArgs 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.Identity, roles);
}
}
![]()
![]()
e questo nel Global.asaxcodice: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)) '----------------------------------------
prelevato dacodice: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
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![]()

Rispondi quotando