Avatar billede forceprogrammer Nybegynder
05. august 2007 - 21:27 Der er 10 kommentarer

Rolle, membership og profile providers i asp.net 2.0

Jeg har lavet providers til hhv. Rolle, membership og profile funktionaliteten i dotnet.
Jeg har i min applikation designet i min domænemodel nogle forskellige brugerobjekter.
Jeg har en privat-kunde, en forretnings-kunde og en køber-kunde.

Da jeg jo meget gerne vil gøre brug af så meget indbygget funktionalitet som muligt kunne jeg godt tænke mig at opbevare mit kunde objekt som en attribut i min profileprovider.

Men før det kan lade sig gøre skal jeg kunne tilgå denne kollektion fra stort set hvorsomhelst. Fx. inde fra en page_load på en aspx eller ascx side.

Så mit spørgsmål er, hvordan kan jeg tilgå attributterne jeg har gemt i min profileprovider fra et vilkårligt sted?

Med venlig hislen, og tak på forhånd
Avatar billede dr_chaos Nybegynder
05. august 2007 - 21:39 #1
Profile.BrugerInfo.Meddelelse = "ssdgs";
Hvor definitionen i web.config ser ud på denne måde:
<profile defaultProvider="MinProfileProvider">
            <providers>
                <add name="MinProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ConnectionString"/>
            </providers>
            <properties>
                <group name="BrugerInfo">
                    <add name="Meddelelse" type="string" allowAnonymous="false"/>
                </group>
            </properties>
        </profile>
Avatar billede ppuser Nybegynder
05. august 2007 - 21:45 #2
Hej Dr. Chaos.
Tak for det hurtige svar.
Min web.config ser således ud:

    <profile defaultProvider="ProfileHandler">
      <providers>
        <add name="ProfileHandler"
            type="PP.Phonecards.Web.Frontend.App_CodeExtra.ProfileHandler"/>
      </providers>
    </profile>

Jeg bruger altså ikke SqlProfileProvider, men min helt egen.

Når jeg står inde i page_load har jeg ikke adgang til et objekt der hedder Profile. Jeg har følgende kode:


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace PP.Phonecards.Web.Frontend
{
  public partial class createmember : PP.Phonecards.Web.Frontend.App_CodeExtra.CommonPage
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      Profile.  <-------Der er ikke noget der hedder Profile.
    }
  }
}

Mangler jeg noget?
Avatar billede dr_chaos Nybegynder
05. august 2007 - 21:56 #3
prøv evt med HttpContext.Current.Profile noget i den stil.
Avatar billede ppuser Nybegynder
05. august 2007 - 22:00 #4
hmm ja det ser ud til at virke iflg. min intellisense :)

Det er godt. Hvordan med Membership og roleobjekterne, hvordan får jeg fat på dem?
Avatar billede dr_chaos Nybegynder
05. august 2007 - 22:07 #5
Ligger i HttpContext.Current. også mener jeg.
Avatar billede ppuser Nybegynder
05. august 2007 - 22:25 #6
hmmm det synes jeg ikke lige jeg kan finde.
Hvad hedder de objekter?
Avatar billede dr_chaos Nybegynder
05. august 2007 - 23:02 #7
Hvad skal du bruge dem til ?
Tror der er noget der hedder RoleManager. men kan ikke huske hvor den ligger.
Avatar billede ppuser Nybegynder
05. august 2007 - 23:06 #8
Jeg skal bruge dem fordi jeg skal lave nogle specifikke sikkerhedscheck i page-load hvor jeg gerne ville gøre brug af min provider, således at jeg får samlet mine sikkerhedscheck i en enkelt klasse
Avatar billede ppuser Nybegynder
05. august 2007 - 23:06 #9
Det er mere Membership end Role jeg gerne vil have fat i
Avatar billede dr_chaos Nybegynder
07. august 2007 - 19:24 #10
Hvad er det præcist for nogle sikkerhedstjek ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester