[asp.net] User & Roles i.s.m. usercontrols

Pagina: 1
Acties:

  • NoReason
  • Registratie: Mei 2003
  • Laatst online: 22-05 11:13
ik heb een vraag of het mogelijk is deze methode te gebruiken bij mijn manier van werken. Ik maar gebruik van usercontrols die dynamisch op workspace.aspx geladen worden afhankelijk van de querystring. in de workspace.aspx wordt dan ook gecontroleerd als de user behoord tot de juist groep. Bij het inloggen indien username en paswoord correct zijn gebruik ik de volgende code om naam en groep op te slaan:
ASP.NET:
1
2
3
4
if (GRow.Paswoord == this.Password)
{
GenericIdentity identity = new GenericIdentity("test");
Context.User = new GenericPrincipal(identity,new string[] { "test" });

hij schijnt dat te doen, maar wanneer ik in de workspace.aspx de waarde ervan opvraag, is die leeg...
ASP.NET:
1
string loginID = this.Context.User.Identity.Name.ToString();

doe ik iets verkeerd of werkt dit enkel met formsauthentication over meerdere pagina's?

It's time to kick ass and chew bubble-gum, and I'm all out of gum.


  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

Geen idee hoe die taal gramaticaal pcies werk maar is het niet:
this.Context.User = new GenericPrincipal(identity,new string[] { "test" });
ipv
Context.User = new GenericPrincipal(identity,new string[] { "test" });

Skill is when luck becomes a habit.


  • whoami
  • Registratie: December 2000
  • Laatst online: 25-05 23:56
eek; nee. Dat is hetzelfde (in dit geval toch).

IMO moet je die user (met roles) iedere keer heraanmaken als je applicatie een her-authenticatie doet.
Als ik het me goed herinner, zal je in de global.asax in de Application_AuthenticateRequest dus iedere keer moeten zeggen tot welke groepen die user behoort.

Ik heb net even in een projectje gekeken van me, en idd, in de global.asax staat dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
// Get User-Role information.
            
    if( m_UserInfo != null )
    {
        HttpApplication app = (HttpApplication)sender;
                
        if( app.Request.IsAuthenticated && app.User.Identity is FormsIdentity )
        {
                
            FormsIdentity ident = (FormsIdentity)app.User.Identity;
                
            string[] roles = mtDataLayer.UserData.GetRolesInfo(m_UserInfo.UserId, 
                                                                       ConfigurationSettings.AppSettings["dsnLibrary"]);
                                                                       
            app.Context.User = new GenericPrincipal( ident, roles); 
        }
    }
}

[ Voor 53% gewijzigd door whoami op 09-05-2004 09:43 ]

https://fgheysels.github.io/