Avatar billede maddog_em Nybegynder
07. maj 2010 - 08:53 Der er 5 kommentarer og
1 løsning

Tildel brugerrettigheder på web

Hej alle

jeg har en webside hvor brugerne skal logge ind på nogle bestemte sider. Når de logger på får de tildelt forskellige rettigheder - adgang og div. opslag i databaser forskellig fra bruger til bruger.
Nu har jeg så brug for at en bruger må se det som nogle af de andre også ser.....
dvs bruger A må lave opslag i databasen på A til C, men bruger B må kun se B i DB og C må se C, D må se D men E må se E og C

nu ser jeg på rettighederne ved login på denne måde:
if rsCheckUser("STATUS") = 1 then session("login")="1" 'bruger A
if rsCheckUser("STATUS") = 2 then session("login")="2" 'bruger B
if rsCheckUser("STATUS") = 3 then session("login")="3" 'bruger C
if rsCheckUser("STATUS") = 4 then session("login")="4" 'bruger D
if rsCheckUser("STATUS") = 5 then session("login")="5" 'bruger E

det virker OK, men når jeg så vil give A adgang til både A, B og C går det galt
jeg har prøvet følgende:
if rsCheckUser("STATUS") = 1 then session("login")="1" AND "2" AND "3" 'bruger A-B-C
det virker ikke 
så prøvede jeg:
if rsCheckUser("STATUS") = 1 then session("login")="1" 'bruger A
if rsCheckUser("STATUS") = 1 then session("login")="2" 'bruger B
if rsCheckUser("STATUS") = 1 then session("login")="3" 'bruger C
Her læser den kun den sidste linje dvs at den giver kun adgang til C 

Hvem har de vise sten her
Avatar billede reino Nybegynder
07. maj 2010 - 10:04 #1
Prøv evt.:

if rsCheckUser("STATUS") = 1 then session("login")="1" and session("login")="2" AND session("login")="3"
Avatar billede maddog_em Nybegynder
10. maj 2010 - 09:09 #2
Hej Reino

Det var et meget godt bud, men desværre. på den måde får brugeren adgang til alt - 1, 2, 3, 4, og 5
Avatar billede maddog_em Nybegynder
11. maj 2010 - 13:55 #3
Hej

hvad nu hvis jeg vil gøre det på denne måde:
if rsCheckUser("STATUS") = 1 then session("login")="1001" 'bruger A
if rsCheckUser("STATUS") = 2 then session("login")="1002" 'bruger B
if rsCheckUser("STATUS") = 3 then session("login")="1003" 'bruger C
if rsCheckUser("STATUS") = 4 then session("login")="2000" 'bruger D
if rsCheckUser("STATUS") = 5 then session("login")="2000" 'bruger E

if rsCheckUser("STATUS") = 100 then session("login")="100" 'bruger A + B + C
Her mangler jeg så bare at tilføje et wildcard kriteria i slutningen af 100, normalt er det bare % tegn - men det kan jeg ikke få til at virke. Er det ikke muligt ved dette?
Avatar billede maddog_em Nybegynder
11. maj 2010 - 13:59 #4
glemte lige:

hvis jeg bruger if rsCheckUser("STATUS") = 100 then session("login")=' "100" %' 'bruger A + B + C
kan siden efter login slet ikke vises, så det giver en fejl i asp'en
Avatar billede The Real Yoda Juniormester
14. maj 2010 - 14:50 #5
Den meget simple løsning er ...

if rsCheckUser("STATUS") = 1 then session("login")=",1,2,3," 'bruger A
if rsCheckUser("STATUS") = 2 then session("login")=",2," 'bruger B
if rsCheckUser("STATUS") = 3 then session("login")=",3," 'bruger C
if rsCheckUser("STATUS") = 4 then session("login")=",4," 'bruger D
if rsCheckUser("STATUS") = 5 then session("login")=",5," 'bruger E


if instr(session("login"),",1,") then
if instr(session("login"),",2,") then
if instr(session("login"),",3,") then

På den måde kan du kigge efter den enkelte rettighed..
der skal være  komme både foran og efter tallene da du på den måde ikke får fejl hvis du kommer over 9 tal ..
Avatar billede The Real Yoda Juniormester
14. maj 2010 - 14:50 #6
Sku nu ha været 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
Kurser inden for grundlæggende programmering

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