Avatar billede c-sharp Nybegynder
20. december 2006 - 14:05 Der er 25 kommentarer og
1 løsning

Spørgsmål til FormsAuthentication med flere mapper

Jeg er ved at lavet et site hvor jeg bruger FormsAuthentication. sitet fungere på følgende måde:

I roden af sitet kan man logge ind og bruge nogle udvidede funktioner på sitet. Der er så et administrations site som ligger i en mappe ("administration") Her skal det så være muligt at logge ind i administrations siden. Mit problem er at den side man bliver videre sendt til når man er logget ind ligger i roden af sitet. Kan jeg ikke opsætte en "loginUrl" for min admin mappe?
Avatar billede thrytter Nybegynder
20. december 2006 - 15:50 #1
Skal det forstås sådan, at du har 2 forskellige applikationer (og sites) kørende - et i roden og et i mappen administration?

Hvis ja, kan du vel angive en loginUrl i administrationen's web.config.
Avatar billede kalp Novice
20. december 2006 - 15:54 #2
du skal nok tilføje det her til Web.config

  <authentication mode="Forms">
      <forms name="FormsAuthentication" path="/" loginUrl="NOGET HER.aspx" timeout="20" />
    </authentication>
Avatar billede c-sharp Nybegynder
20. december 2006 - 17:02 #3
Nej det er ikke 2 forskellige sites det er jo et administrations modul i en undermappe.

Jeg får en fejl hvis jeg opretter en webconfig i administrations mappen med:
  <authentication mode="Forms">
      <forms name="FormsAuthentication" path="/" loginUrl="NOGET HER.aspx" timeout="20" />
    </authentication>
Avatar billede kalp Novice
20. december 2006 - 17:09 #4
du kan heller ikke bare lave en web.config med kun de linjer i

<?xml version="1.0"?>
<configuration>
  <appSettings/>
  <system.web>
    <authentication mode="Forms">
      <forms name="FormsAuthentication" path="/" loginUrl="blah.aspx" timeout="20" />
    </authentication>
    </system.web>
</configuration>
Avatar billede c-sharp Nybegynder
20. december 2006 - 17:33 #5
Der er jeg klar over :-)

Men jeg har jo en web.config i roden af projektet og når jeg så laver en web.config i administrations mappen som ovenstående får jeg en fejl.
Avatar billede kalp Novice
20. december 2006 - 17:42 #6
hvis du har en i admin mappen skal linjerne vel tilføjes i den

<authentication mode="Forms">
      <forms name="FormsAuthentication" path="/" loginUrl="blah.aspx" timeout="20" />
    </authentication>
Avatar billede kalp Novice
20. december 2006 - 17:42 #7
og ellers hvis du anvender asp login componentet så må der vel være noget i properties man kan sætte der.
Avatar billede c-sharp Nybegynder
21. december 2006 - 07:59 #8
Det er jo det jeg ikke kan få til at virke når jeg både har en web.config i roden med det authentication og en i admin mappen :-/
Avatar billede thrytter Nybegynder
21. december 2006 - 08:16 #9
Har en tilsvarende opsætning på et site, og der virker det upåklageligt. Admin projektet er konfigureret som en application i/på IIS'en.

Kan du ikke poste fejlmeddelelsen og evt. indholdet af din web.config.
Avatar billede c-sharp Nybegynder
21. december 2006 - 19:55 #10
Jeg har ikke opsat administrations delen som et selvstændig site, kan jeg ikk undgå det?
Avatar billede thrytter Nybegynder
21. december 2006 - 20:17 #11
Er ikke sikker på at du bare kan placere administrationsdelen i en undermappe, uden at denne mappe er virtuel og konfigureret som en application.

Er din fejl magen til

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS
Avatar billede c-sharp Nybegynder
21. december 2006 - 20:22 #12
Ja det ligner noget jeg har set før :-)
Avatar billede snepnet Nybegynder
22. december 2006 - 19:18 #13
Du kan kun konfigurere den slags op i foldere der er konfigureret som applications.
Mvh
Avatar billede c-sharp Nybegynder
30. december 2006 - 13:07 #14
Hvordan konfigurere jeg det i mit udviklingsmiljø?
Avatar billede c-sharp Nybegynder
05. januar 2007 - 13:54 #15
Er der mere hjælp her?
Avatar billede thrytter Nybegynder
05. januar 2007 - 15:15 #16
Konfigurering som en application skal ske på webserveren / IIS'en og har egentlig ikke noget med selve udviklingsmiljøet at gøre.

Under egenskaber for den virtuelle mappe (i fanebladet Virtual Directory) er der under "Application Settings" en Create knap som konfigurerer den virtuelle mappe som en application.

Er mappen endnu ikke oprettet som en virtuel mappe, kan du tage egenskaber for den pågældende mappe, og trykke på Create knappen.
Avatar billede c-sharp Nybegynder
05. januar 2007 - 16:32 #17
Vil det sige at jeg ikke kan test og debugge på det i mit udviklingsmiljø?
Avatar billede thrytter Nybegynder
05. januar 2007 - 17:17 #18
Har du ikke en webserver lokalt??
Avatar billede c-sharp Nybegynder
08. januar 2007 - 09:40 #19
Jo det har jeg men den bruger jeg ikke i forbindelse med udvikling.

Det er ikke muligt for mig at lave admin mappen til en application, for det projekt jeg arbejder på compilere det hele til en dll som ligger i roden.

Er jeg så tvunget til at lave mit eget login beskyttelse eller har jeg flere muligheder med FormsAuthentication??
Avatar billede thrytter Nybegynder
08. januar 2007 - 09:52 #20
Tror vist at jeg har misforstået din opsætning lidt.

Har jeg ret i, at du kun har et site (og dermed kun et web-projekt) og hvor filerne i admininistration skal være beskyttet med FormsAuthentication?
Avatar billede thrytter Nybegynder
08. januar 2007 - 09:55 #21
Med "webserver lokalt??" mente jeg, om du ikke har installeret en web-server på din lokale maskine med udviklingsværktøjet, og som du kan bruge til test af sitet - eks. ved brug af http://localhost
Avatar billede thrytter Nybegynder
08. januar 2007 - 10:04 #22
Prøv at tilføje flg. til web.config som er placeret i roden af sitet.

I <system.web> sektionen

<authentication mode="Forms">
  <forms name=".TestAuthCookie" protection="All" loginUrl="login.aspx" timeout="1" path="/">           
  </forms>
</authentication>

<!--  AUTHORIZATION
This section sets the authorization policies of the application. You can allow or deny access to application resources by user or role. Wildcards: "*" mean everyone, "?" means anonymous (unauthenticated) users. -->
<authorization>       
  <allow users="*"/>
</authorization>

og efter </system.web> sektionen og før </configuration>
<location path="administration">
  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>
</location> 

Sidstnævnte kan erstattes af en særskilt web.config i mappen administration.
Avatar billede c-sharp Nybegynder
09. januar 2007 - 14:16 #23
Det er både selve sitet og admin mappen der er beskyttet med login. Men man logger ind seperat på admin siden, så derfor skal den også vise den login side der ligger i admin mappen og ikke den der ligger i rod mappen.
Avatar billede thrytter Nybegynder
09. januar 2007 - 15:20 #24
Mit eneste bud er tilføjelse af flg. til din web.config i roden

<location path="administration">
  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
           
    <authentication mode="Forms">
      <forms name=".AdministrationAuthCookie" protection="All" loginUrl="administration/login.aspx" timeout="30" path="/">
      </forms>
    </authentication>
  </system.web>
</location>

Skal tilføjes mellem </system.web> og </configuration>

Er ikke lige testet af!
Avatar billede c-sharp Nybegynder
10. januar 2007 - 10:25 #25
hvis jeg indsætter ovenstående får jeg følgende fejl:

Error    3    It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS.    C:\..\<Web.Config    64
Avatar billede c-sharp Nybegynder
11. januar 2007 - 13:42 #26
Er der mere hjælp her?
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