CatZMedlem sedan jan. 20022 440 inlägg Jag vill kunna ha olika admin rättigheter på olika siffror. men vissa saker ska ju både de som har 1, 2 och 3 i admin status komma åt. Kan man inte göra en jämförelse med ><><= ?
Är det bara = eller <> som gäller då ? Hur kan man tänkas lösa detta problemet ?
eTeRnAlMedlem sedan sep. 200225 inlägg <% if session("admin") => "2" then %>
dvs, är lika med 2 eller större så gör den kommande kod.
du kan säkert det dära med = <> så jag behöver nog inte gå in mera på det :)
CatZMedlem sedan jan. 20022 440 inlägg //RED eller vad säger jag... det ungerar ju inte alls..
Ska testa med att göra värdet till tal först.
@ndersMedlem sedan juni 200032 969 inlägg Vad är det som inte fungerar?
CatZMedlem sedan jan. 20022 440 inlägg Jag har ett konto på sidan med session("admin") = 3 när jag försöker med where session => 1 så funkar det inte alls... samma med > 1 får bara upp ett meddelande om att jag inte är autoriserad (som jag förövrigt fipplat dit själv) Däremot om jag väljer session("admin") <> "0" så går det ju bra... men då får även "" åtkomst till sidan dvs även de som inte ska vara där. Sätter jag det till = "3" så funkar allt toppen. Men nu ska ju även de som har "2" i admin status komma åt sidan. Och visst skulle man kunna lösa det med AND OR men det e ju så fult.
CatZMedlem sedan jan. 20022 440 inlägg Det funkar som det ska när det gäller att skriva ut länka och dylikt, men det vill inte på de sidorna typ administrera nyheter och liknande, då får jag bara upp meddelandet om otillräcklig behörighet!
@ndersMedlem sedan juni 200032 969 inlägg Och du ser alltid till att värdena är av rätt subtyp, så du kan göra jämförelsen?
CatZMedlem sedan jan. 20022 440 inlägg session("admin") = CInt(objRS("soldier_admin"))
ska väl räcka.... behöver jag berätta att objRS("soldier_admin") = tal i databasen ?
Som det verkar nu så är det bara den typen av sidor som är producerade helt i response.write dvs de som inte har annat än <% %> som genererar detta problemet.
@ndersMedlem sedan juni 200032 969 inlägg Hur ser jämförelsen ut då?
CatZMedlem sedan jan. 20022 440 inlägg if CInt(session("admin")) => CInt("2") then
' faslig mass formulär och sånt
else
response.write "Not authorized!!"
end if
@ndersMedlem sedan juni 200032 969 inlägg För det första; du behöver inte subtypskonvertera jämt. Om du använt CInt när du skapar din session behöver du inte göra det i jämförelsen. Det här räcker:
if session("admin") >= 2 then
' faslig mass formulär och sånt
else
response.write "Not authorized!!"
end if
För det andra, skriv ut innehållet i sessionen, så du vet att den inte tappat sitt värde. Denna sida ligger väl inte in en egen virtuell mapp?
CatZMedlem sedan jan. 20022 440 inlägg 1. Subtypskonverteringarna gjorde jag extra för att ni skulle förstå att jag förstår hur man gör och för att visa att inte det var problemet.
2. //RED på sidorna jag refererar till finns inget admin värde
3. Jo allt ligger i egna virtuella mappar men det ska inte spela någon roll? jag har ju en header.asp och connect.inc som includeras på varje sida.
@ndersMedlem sedan juni 200032 969 inlägg Skriv ut värdet på sessionen precis ovanför jämförelsen du gör som INTE fungerar. Har den ett värde?
Normalt kommer du inte åt sessioner i en virtuell mapp, om inte sessionerna är skapade i den virtuella mappen.
Mvh,
CatZMedlem sedan jan. 20022 440 inlägg hahaha jag kom precis på den simplaste av lösningar!! Jag gjorde som så att jag tog bort standartillämpningarna på de mappar som jag använder till admins.
Helt plötsligt fungerade allt som det ska.
Någon som vet på villket sätt en virtuell mapp skiljer sig från att bara skapa en mapp i rooten på webplatsen utan tillämpning ?