Avatar billede hansi67 Nybegynder
26. februar 2004 - 16:57 Der er 2 kommentarer og
1 løsning

login system

Hejsa
Jeg ved ved at lave min første ASP.NET application og løbet ind i lidt problemer med sikkerhed på en undermappe.

Undermappen hedder "admin" og er placeret i roden af min applikation.
Kort sagt skal "admin undermappen" beskyttes med et login-system, mens resten af websitet skal kunne benyttes af alle.

Da sitet skal ligge på en webserver jeg ikke har kontrol over, kan jeg ikke benytte mig af "Windows-based Authentication" og jeg har heller ikke mulighed for at lave "admin undermappen" til en selvstændig application.

Jeg forstå at jeg ikke kan benytte mig af følgende kode da <authentication mode="Forms"> er på applikation nivue :
--
<configuration>
  <system.web>
    <customErrors mode="Off"/>
      <authentication mode="Forms">
        <forms name=".ASPXFORUM"
          loginUrl="login.aspx" protection="All"
          timeout="30" path="/" />
      </authentication>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </configuration>
--

Jeg benytter mig af C#, win2K og en access database.

Er der ikke rar sjæl der kan forklare mig hvordan jeg skal gribe mit problem an, eller pege mig i retning af en tutorial, artikel eller bog der kan løse det.
Avatar billede zaradardk Nybegynder
26. februar 2004 - 18:54 #1
Hej Du,

Her er der lidt hjælp til dit problem.

---- Forms Login Control w. ASP.NET i under mapper ----

ASP.NET arbejder sammen med en xml konfigurations fil der hedder web.config, som du rigtigt nok har fundet frem til og konfigureret til at nægte alle uidentificered brugere adgang. Problemt er som sagt at nu kan du ikke se siten uden at værre logget på... det er jo ikke lige hvad man har brug for hvis det eneste de ikke skal have adgang til er admin delen.

Løsningen på dit problem er heldigvis lige så simpel.

Hvis man ser tilbage på hvordan MS ordnede opdeling af kode logik i ældre versioner af ASP (2.0, 3.0) gjorde det de ved at kombinere Virtual Dirs og Global.asa filer, herved fil man mulighed for at have 2 forskellige "app domains" i din web app.
Dele af denne logik har de nu ført vidre til ASP.NET sikkerhed, ved at introducere brugen af flere web.config filer.
Med andre ord skal du, for at løse dit problem, lave en ekstra web.config fil der ligger i roden af den mappe du vil lukke (root/admin) af, herunder ser du koden til de to filer.

--- web.config (root) ---
<configuration>
  <system.web>
    <customErrors mode="Off"/>
      <authentication mode="Forms">
        <forms name=".ASPXFORUM"
          loginUrl="login.aspx" protection="All"
          timeout="30" path="/" />
      </authentication>
    </system.web>
  </configuration>


--- web.config (root/admin) ---
<configuration>
    <system.web>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>

Det burde løse dit problem. (er testet lokalt)
Avatar billede hansi67 Nybegynder
27. februar 2004 - 17:25 #2
Hej zaradardk
Jeg takker for dit svar som så ud til at løse mit problem ;o)

Du har fået dine velfortjente point.
Avatar billede hansi67 Nybegynder
27. februar 2004 - 18:15 #3
Hej igen zaradardk

Lige et hurtigt spørgsmål (hvis du gider at svare på det, no point).

Lad os sige at jeg har 2 områder på min web-applikation som skal beskyttes, hvordan skal jeg så ordne det sådan at når man logger ind til "admin" (område1) har man ikke automatisk adgang til "extranet" (område2).

Skal jeg benytte mig af: <authorization> ?

God weekend
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