|
| Login, kun brugernavn! Fra : Ukendt |
Dato : 08-08-03 21:08 |
|
Hej!
Er der nogle der kan fortælle mig hvordan man laver en login i ASP,
der kun skal bestå af brugernavn og ikke nogle kode.
Det skal være sådan når man f. eks skriver.
Bruger1 kommer man til side 1
Bruger2 kommer til side 2, og så vider.
Jeg har kikket meget på nettet efter nogle gode script, f. eks
http://www.activedeveloper.dk/ men det er alt sammen men Brugernavn og
adgangskode.
Og jeg kan ikke finde du af at rette i dem så det kun er brugernavn
der står der
Håber der er nogle der kan hjælpe mig.
| |
Jakob Andersen (08-08-2003)
| Kommentar Fra : Jakob Andersen |
Dato : 08-08-03 21:29 |
|
Henrik skrev:
> Er der nogle der kan fortælle mig hvordan man laver en login i ASP,
> der kun skal bestå af brugernavn og ikke nogle kode.
> Det skal være sådan når man f. eks skriver.
> Bruger1 kommer man til side 1
> Bruger2 kommer til side 2, og så vider.
Hvis du har et mindre antal brugere kan du gøre sådan her:
---------------------------------------------
<%
Dim Page
Select Case Request.Form("Brugernavn")
Case "Bruger1"
Page = "side1.asp"
Case "Bruger2"
Page = "side2.asp"
Case "Bruger3"
Page = "side3.asp"
Case Else
Page = "fejl.asp"
End Select
Session("Page") = Page
Response.Redirect(Page)
%>
<html>
<head>
<title>Loginside</title>
</head>
<body>
<form method="post">
<input type="text" name="Brugernavn" />
<input type="submit" />
</form>
</body>
</html>
---------------------------------------------
Hvis du har et større antal brugere kan du kombinere det med en database
eller evt. blot en tekstfil. Dog skal du huske at tjekke på de enkelte
sider at brugeren har adgang til dem, f.eks. ved at tjekke om sidens
navn er lig med siden i Sessionvariablen page(der er sat i ovenstående
eksempel), ellers kan man jo blot gætte sig frem til siden.
Dog er det hvis oplysningerne der er tilgængelige er følsomme en god ide
at supplere med et password især hvis brugernavnene er nummerisk
fortløbende eller på anden måde lette at gætte.
--
Jakob Andersen
| |
Ukendt (09-08-2003)
| Kommentar Fra : Ukendt |
Dato : 09-08-03 10:52 |
|
Mange tak for svaret.
Jeg har kikket på det, men kan ikke rigtig få det til at virke.
Loginet skal være på forsiden i filen index.htm, skal den hedde asp i
stedt?
Og hvad med de sider brugeren skal henvise til skal jeg tilføje noget
til dem, og skal jeg kalde dem *.asp?
>Hvis du har et mindre antal brugere kan du gøre sådan her:
>
>---------------------------------------------
><%
> Dim Page
> Select Case Request.Form("Brugernavn")
> Case "Bruger1"
> Page = "side1.asp"
> Case "Bruger2"
> Page = "side2.asp"
> Case "Bruger3"
> Page = "side3.asp"
> Case Else
> Page = "fejl.asp"
> End Select
>
> Session("Page") = Page
>
> Response.Redirect(Page)
>%>
><html>
> <head>
> <title>Loginside</title>
> </head>
><body>
><form method="post">
> <input type="text" name="Brugernavn" />
> <input type="submit" />
></form>
></body>
></html>
>
>---------------------------------------------
>
>Hvis du har et større antal brugere kan du kombinere det med en database
>eller evt. blot en tekstfil. Dog skal du huske at tjekke på de enkelte
>sider at brugeren har adgang til dem, f.eks. ved at tjekke om sidens
>navn er lig med siden i Sessionvariablen page(der er sat i ovenstående
>eksempel), ellers kan man jo blot gætte sig frem til siden.
>
>Dog er det hvis oplysningerne der er tilgængelige er følsomme en god ide
>at supplere med et password især hvis brugernavnene er nummerisk
>fortløbende eller på anden måde lette at gætte.
| |
Dcasso (09-08-2003)
| Kommentar Fra : Dcasso |
Dato : 09-08-03 11:07 |
|
On Sat, 09 Aug 2003 11:51:59 +0200, Henrik <> wrote:
>Mange tak for svaret.
>Jeg har kikket på det, men kan ikke rigtig få det til at virke.
>Loginet skal være på forsiden i filen index.htm, skal den hedde asp i
>stedt?
Korrekt.
>Og hvad med de sider brugeren skal henvise til skal jeg tilføje noget
>til dem, og skal jeg kalde dem *.asp?
Det skal du hvis du vil være sikker på at besktte filerne. Men ellers
så kan du bare bruge specielle filnavne, som adskiller de enkelte
brugere, det vil give en ok sikkerhed og vil ikke kræve noget kode i
alle filer.
Dennis
| |
Ukendt (09-08-2003)
| Kommentar Fra : Ukendt |
Dato : 09-08-03 17:46 |
|
Hvorfor går den direkte til fejl.asp når jeg åbener index.asp?
><%
> Dim Page
> Select Case Request.Form("Brugernavn")
> Case "Bruger1"
> Page = "side1.asp"
> Case "Bruger2"
> Page = "side2.asp"
> Case "Bruger3"
> Page = "side3.asp"
> Case Else
> Page = "fejl.asp"
> End Select
>
> Session("Page") = Page
>
> Response.Redirect(Page)
>%>
><html>
> <head>
> <title>Loginside</title>
> </head>
><body>
><form method="post">
> <input type="text" name="Brugernavn" />
> <input type="submit" />
></form>
></body>
></html>
| |
Torben Brandt (09-08-2003)
| Kommentar Fra : Torben Brandt |
Dato : 09-08-03 17:58 |
|
Henrik wrote:
> Hvorfor går den direkte til fejl.asp når jeg åbener index.asp?
Fordi Request.Form("Brugernavn") er tom første gang, og derfor ender den
i Case Else.
Jeg har indsæt to ekstra linier herunder:
>><%
If Request.Form("Brugernavn") <> "" Then
>> Dim Page
>> Select Case Request.Form("Brugernavn")
>> Case "Bruger1"
>> Page = "side1.asp"
>> Case "Bruger2"
>> Page = "side2.asp"
>> Case "Bruger3"
>> Page = "side3.asp"
>> Case Else
>> Page = "fejl.asp"
>> End Select
>>
>> Session("Page") = Page
>>
>> Response.Redirect(Page)
End If
>>%>
>><html>
>> <head>
>> <title>Loginside</title>
>> </head>
>><body>
>><form method="post">
>> <input type="text" name="Brugernavn" />
>> <input type="submit" />
>></form>
>></body>
>></html>
mvh Torben
| |
Ukendt (09-08-2003)
| Kommentar Fra : Ukendt |
Dato : 09-08-03 19:48 |
|
Mange tak for det, det virkede, men
Nu har jeg et problem med at komme ind på de sidder når jeg skriver
brugernavnet ind.
Når jeg skriver Bruger1 siger den "Siden kan ikke vises" HTTP 405 -
Ressourcen er ikke tilladt
Internet Information Services.
>Fordi Request.Form("Brugernavn") er tom første gang, og derfor ender den
>i Case Else.
>Jeg har indsæt to ekstra linier herunder:
>
>>><%
>
>If Request.Form("Brugernavn") <> "" Then
>
>>> Dim Page
>>> Select Case Request.Form("Brugernavn")
>>> Case "Bruger1"
>>> Page = "side1.asp"
>>> Case "Bruger2"
>>> Page = "side2.asp"
>>> Case "Bruger3"
>>> Page = "side3.asp"
>>> Case Else
>>> Page = "fejl.asp"
>>> End Select
>>>
>>> Session("Page") = Page
>>>
>>> Response.Redirect(Page)
>
>End If
>
>>>%>
>>><html>
>>> <head>
>>> <title>Loginside</title>
>>> </head>
>>><body>
>>><form method="post">
>>> <input type="text" name="Brugernavn" />
>>> <input type="submit" />
>>></form>
>>></body>
>>></html>
>
>mvh Torben
| |
Torben Brandt (10-08-2003)
| Kommentar Fra : Torben Brandt |
Dato : 10-08-03 01:04 |
|
Henrik wrote:
> Nu har jeg et problem med at komme ind på de sidder når jeg skriver
> brugernavnet ind.
> Når jeg skriver Bruger1 siger den "Siden kan ikke vises" HTTP 405 -
> Ressourcen er ikke tilladt
> Internet Information Services.
>>>>Dim Page
>>>>Select Case Request.Form("Brugernavn")
>>>>Case "Bruger1"
>>>> Page = "side1.asp"
>>>>Case "Bruger2"
>>>> Page = "side2.asp"
>>>>Case "Bruger3"
>>>> Page = "side3.asp"
>>>>Case Else
>>>> Page = "fejl.asp"
>>>>End Select
>>>>
>>>>Session("Page") = Page
>>>>
>>>>Response.Redirect(Page)
Er du sikker på at siden "side1.asp" eksisterer og er placeret i samme
mappe på samme server? Hedder den .asp og ikke .html?
PS Husk venligst at skrive under det du svarer på og klippe overflødige
afsnit væk.
/Torben
| |
Ukendt (10-08-2003)
| Kommentar Fra : Ukendt |
Dato : 10-08-03 08:07 |
|
Torben Brandt wrote:
>Er du sikker på at siden "side1.asp" eksisterer og er placeret i samme
>mappe på samme server? Hedder den .asp og ikke .html?
Ja side 1 hedder side1.asp og ligger samme sted som Index.asp (Login
siden)
Men side1.asp er et tomt html dokument, jeg har bare kaldt den asp. Er
det ikke godt nok?
>
>PS Husk venligst at skrive under det du svarer på og klippe overflødige
>afsnit væk.
Ok, ska' nok
Hilsen Henrik
| |
Torben Brandt (10-08-2003)
| Kommentar Fra : Torben Brandt |
Dato : 10-08-03 10:12 |
|
Henrik wrote:
> Torben Brandt wrote:
>
>>Er du sikker på at siden "side1.asp" eksisterer og er placeret i samme
>>mappe på samme server? Hedder den .asp og ikke .html?
>
> Ja side 1 hedder side1.asp og ligger samme sted som Index.asp (Login
> siden)
> Men side1.asp er et tomt html dokument, jeg har bare kaldt den asp. Er
> det ikke godt nok?
Problemet er at der i form-tagget ikke er specificeret en
action-attribut. Når der ikke er det, så bliver formen (vist nok) sendt
til samme URL som der står i adresselinien.
Hvis du tilgår din side med http://min.side/index.asp så virker det nok,
men hvis du kun skriver http://min.side/ så duer det ikke.
Man kan ikke sende data fra en form til en mappe, selv om mappen er
synonym med index.asp-filen...
Løsningen er at erstatte
<form method="post">
med
<form action="index.asp" method="post">
/Torben
| |
Ukendt (10-08-2003)
| Kommentar Fra : Ukendt |
Dato : 10-08-03 19:29 |
|
Torben Brandt wrote:
>Problemet er at der i form-tagget ikke er specificeret en
>action-attribut. Når der ikke er det, så bliver formen (vist nok) sendt
>til samme URL som der står i adresselinien.
>Hvis du tilgår din side med http://min.side/index.asp så virker det nok,
>men hvis du kun skriver http://min.side/ så duer det ikke.
>Man kan ikke sende data fra en form til en mappe, selv om mappen er
>synonym med index.asp-filen...
>
>Løsningen er at erstatte
> <form method="post">
>med
> <form action="index.asp" method="post">
Jep så virker det!
Mange tak for hjælpen.
Hilsen Henrik
| |
|
|