Avatar billede baddaydaddy Nybegynder
07. marts 2007 - 13:24 Der er 20 kommentarer og
1 løsning

Gemme brugerdata efter login

har lavet en hjemmeside i c#/.net, hvor nogle af siderne skal være begrænset ved hjælp af en login. Har til nu forsøgt at bruge Sessions objekt, men synes det virker lidt ustabilt! Er det andre forslag til hvordan man kan løse dette?
Avatar billede kalp Novice
07. marts 2007 - 13:26 #1
Nu er det jo sådan at det er indbygget i .NET den funktionalitet.. du skal ikke rigtig kode loginsystemet selv!
Avatar billede kalp Novice
07. marts 2007 - 13:30 #2
Avatar billede kalp Novice
07. marts 2007 - 13:34 #3
og hvis du er dårlig til at læse:P
så se det som video learning her.
http://www.asp.net/learn/videos/view.aspx?tabid=63&id=45
Avatar billede baddaydaddy Nybegynder
07. marts 2007 - 15:01 #4
Fair enough!! Det eneste jeg så ikke lige umiddelbart kan se er hvordan man kan hente ud information om brugerens rolle, således at man kan lave to forskellige menuer på basis af de rettigheder brugeren har...
Og nu snakker jeg IKKE om de menuer der er kan færdig genereres i Visual Studio - for de har jeg ingen hensigt at bruge!

Det er sikkert mulig at sætte opp noget om dette i web.config, men hvordan?

Hvis denne model skal være aktuel for min hjemmeside, er det vigtig at dette kan lade sig gøre!
Avatar billede kalp Novice
07. marts 2007 - 15:12 #5
Det kan man sagtens.. men desværre så har jeg ikke tid til, at lave et eksempel.
Jeg kan ikke huske det på stående fod.
Avatar billede kalp Novice
07. marts 2007 - 15:13 #6
men hvorfor var session ustabil ?
det kan jo kun være fordi du laver et dårligt tjek i koden!
Avatar billede baddaydaddy Nybegynder
07. marts 2007 - 15:21 #7
bruger den her kode til at sætte dataene i sessiong objektet:
<%
Session.Add("rolle", datareader["adgangsrolle"]);
%>
og den her for at tjekke den:
<%
if ((String)Session["rolle"] != "Administrator")
{
    %>
    <script>
        window.parent.location = "index.html?nologin";
    </script>
    <%
}
%>
Avatar billede kalp Novice
07. marts 2007 - 15:30 #8
importer System.Text.RegularExpressions;

og prøv så


<%
Session.Add("rolle", (string)datareader["adgangsrolle"]);
%>
og den her for at tjekke den:
<%
Regex check = new Regex("Administrator",RegexOptions.IgnoreCase);
if (check.IsMatch(((string)Session["rolle"]).ToString()))
{
    %>
    <script>
        window.parent.location = "index.html?nologin";
    </script>
    <%
}
%>
Avatar billede kalp Novice
07. marts 2007 - 15:42 #9
hov din egen er fin nok.. du skal bare tjekke på om session er null!
men vi gør det lige mit:P

<%
Session.Add("rolle", (string)datareader["adgangsrolle"]);
%>
og den her for at tjekke den:
<%
Regex check = new Regex("Administrator",RegexOptions.IgnoreCase);
if (Session["rolle"] != null && check.IsMatch(((string)Session["rolle"]).ToString()))
{
    %>
    <script>
        window.parent.location = "index.html?nologin";
    </script>
    <%
}
%>
Avatar billede kalp Novice
07. marts 2007 - 15:49 #10
hov fik rodet lidt i det.. du får lige mit og dit eksempel som de skal være:)

Dit skal være sådan her.

<%
Session.Add("rolle", datareader["adgangsrolle"]);
%>
og den her for at tjekke den:
<%
if (Session["rolle"] == null || (String)Session["rolle"] != "Administrator")
{
    %>
    <script>
        window.parent.location = "index.html?nologin";
    </script>
    <%
}
%>


og min skal være sådan..


<%
Session.Add("rolle", (string)datareader["adgangsrolle"]);
%>
og den her for at tjekke den:
<%
Regex check = new Regex("Administrator",RegexOptions.IgnoreCase);
if (Session["rolle"] == null && !check.IsMatch(((string)Session["rolle"]).ToString()))
{
    %>
    <script>
        window.parent.location = "index.html?nologin";
    </script>
    <%
}
%>


Hvis der ikke er noget session på en får man ikke adgang.. og hvis der er session og det ikke er admin så får man heller ikke adgang.
Avatar billede baddaydaddy Nybegynder
07. marts 2007 - 15:54 #11
Problemet der opstår er at man bliver videresendt til loginsiden med fejlbesked selv om man ER logget ind korrekt!
Avatar billede kalp Novice
07. marts 2007 - 16:01 #12
tjah du har jo ikke vist nok kode til at jeg kan sige hvorfor!
hvor er koden som videresender en  til foresiden?
tak tak
Avatar billede kalp Novice
07. marts 2007 - 16:56 #13
tilføj

<sessionState
  timeout="60"
/>

i web.config.
Avatar billede baddaydaddy Nybegynder
07. marts 2007 - 17:24 #14
hjælper ikke!

Bliver stadig redirected til login siden efter noet tid!

Det er specielt efter at have været inde på andre sider (e.l. i mellemtiden)... tror jeg!
Avatar billede kalp Novice
07. marts 2007 - 23:29 #15
ikke for noget.. men prøv en anden PC!
Avatar billede baddaydaddy Nybegynder
08. marts 2007 - 10:07 #16
har fået tilbagemelding fra andre der har været mine testpersoner til siden, og de siger også at de kommer ud for det samme problem!
Avatar billede baddaydaddy Nybegynder
08. marts 2007 - 19:21 #17
...dvs stadig ikke nogen løsning på mit problem!!!

en eller anden: HJÆLP!!

(MS sin færdig-løsning i Visual Studio er heller ikke noget jeg kan bruge til noget)
Avatar billede kalp Novice
08. marts 2007 - 20:34 #18
Der er sgu ikke så meget at sige.. Session virker med alle andre mennesker så det kan kun være et eller andet 3 der ødelægger det for dig.
Avatar billede baddaydaddy Nybegynder
19. marts 2007 - 12:33 #19
tror lidt problemet ligger serverside... forsøger at kontakte den webhost jeg har til siden!
Avatar billede kalp Novice
19. marts 2007 - 12:39 #20
ja.. det kan jo være det 3 der ødelægger det for dig;o)

i hvertfald burde det fungere:P
Avatar billede kalp Novice
23. januar 2009 - 15:50 #21
Jeg kan mærke du vil have et svar
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

IT-JOB

Politiets Efterretningstjeneste

Datacentertekniker hos PET

Politiets Efterretningstjeneste

Fullstack softwareudvikler i PET

Ingeniørforeningen, IDA

Platform Engineer i IDA