Avatar billede bambinogrande Nybegynder
05. februar 2003 - 14:06 Der er 9 kommentarer

Session og login spm.

Hej med jer,

Jeg har lavet et par funktionaliteter på min side, som kun en admin har rettigheder til.

Jeg trækker et Sessions med rundt på de pågældende sider når man er logget ind.

I min Bruger Db er dem med Admin brugerrettigheder nummer 1.

Jeg har lavet en lnkbutton:

<asp:linkbutton id="lnkNewUser" text="Opret bruger" onclick="NewUser_Click"  runat="server" />


Det event der hedder "NewUser_Click" går ind og tjekker på om men har sessionid = userRights = 1. Hvis ikke det er det så skal den vise en Error med at man ikke har rettigheder til at komme der ind.

Det virker også fint, men uanset om jeg har id 1 eller ikke så Redirecter den mig ikke.

Er der andre måder at lave det på?

NavigateUrl er ikke en metode "Linkbutton" understøtter, men der må da være noget tilsvarende?

Min sub:


Public Sub NewUser_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkNewUser.Click
        If CInt(Context.Session("UserRights")) <> 1 Then
            With lblError
                .Text = "<ul><li>Du har ikke rettigheder til at tilføje data i databasen!</li></ul>"
                .ForeColor = Color.Red
                .Visible = True
            End With
        ElseIf CInt(Context.Session("UserRights")) = 1 Then
            lblError.Visible = False
            Response.Redirect("http://www.test.dk/TPNet/Secure/NewUser.aspx")
        End If
    End Sub

Mvh

/B.G.
Avatar billede burningice Nybegynder
06. februar 2003 - 08:57 #1
prøv at lave en if else istedet

Public Sub NewUser_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkNewUser.Click
        If CInt(Context.Session("UserRights")) = 1 Then
            lblError.Visible = False
            Response.Redirect("http://www.test.dk/TPNet/Secure/NewUser.aspx")
        Else
            With lblError
                .Text = "<ul><li>Du har ikke rettigheder til at tilføje data i databasen!</li></ul>"
                .ForeColor = Color.Red
                .Visible = True
            End With
        End If
    End Sub
Avatar billede bambinogrande Nybegynder
06. februar 2003 - 09:34 #2
Nix............. samme fejl.

Kan det have noget at gøre med at jeg bruger 2 sessions på samme tid?

UserID fra Db smider jeg i en seesion, og hvis der er rettigheder et bestemt sted trækker jeg UserRights med også.

Men skal de begge være der eller hvad?
Avatar billede bambinogrande Nybegynder
06. februar 2003 - 09:42 #3
hvad fucking sker der mand!

Hvor svært kan det være......... den vil ik en skid redirect.

Trækker kun 1 seesion med rundt nu, som er UserRights. Og hvis den ikke er = 1 (som er Admin) så skal den vise en label!

For satan mand.........
Avatar billede burningice Nybegynder
06. februar 2003 - 09:49 #4
bg>> ok... prøv lige at kommenter din if... else block ud, og lav en Response.Write CInt(Context.Session("UserRights")) istedet... så kan vi se hvad den egentlig indeholder ;)
Avatar billede bambinogrande Nybegynder
06. februar 2003 - 10:08 #5
det har jeg gjort......... den indeholder det nummer den skal!

:-(
Avatar billede bambinogrande Nybegynder
06. februar 2003 - 10:11 #6
Men i stedet for at lave et linkbutton og smide et event på ikke, for jeg tror det har noget med den at gøre. Men hvad kan jeg lave i stedet?

Jeg kan jo ikke smide et event på et hyperlink?
Avatar billede burningice Nybegynder
06. februar 2003 - 10:42 #7
jeg ville nok gøre det sådan, at du tjekker for hvad brugeren har lov til på SELVE siden, altså i Page_Load på NewUser.aspx, og ikke de sider som sender brugeren hen på siden.

altså

på din normale side:

<a href="newuser.aspx">Opret en bruger</a>

på newuser.aspx:

Function Page_Load()
If CInt(Context.Session("UserRights")) = 1 Then
            lblError.Visible = False
            Response.Redirect("http://www.test.dk/TPNet/Secure/NewUser.aspx")
        Else
            With lblError
                .Text = "<ul><li>Du har ikke rettigheder til at tilføje data i databasen!</li></ul>"
                .ForeColor = Color.Red
                .Visible = True
            End With
        End If
End Function
Avatar billede jhh_jhh_dk Nybegynder
11. februar 2003 - 11:07 #8
Jeg mener absolut at en redirect skal være oppe i Page_load. i asp skulle man jo altid lave Response.redirect før man sendete andre response eller brugte HTML-kode.
Avatar billede Slettet bruger
28. februar 2003 - 11:09 #9
en Response.Redirect behøver ikke at være i en page_load...
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