Avatar billede jps6kb Novice
05. februar 2010 - 12:47 Der er 7 kommentarer og
1 løsning

Brugerrettigheder på filer gennem webapp?

Hej,

Hvad er den smarteste måde at lave brugerrettigheder på filer i en webapp?

F.eks. en bruger skal kunne uploade et dokument til en gruppe, som andre brugere skal have adgang til, men ikke alle brugere.

Mine tanker har været, at oprette brugerne på serveren, og så lave foldere hvor brugerne havde rettigheder til. Ellers tænkte jeg på, at lægge dokumenterne (docx, pdf, ...) i BLOB i en MSSQL, men det er bare ikke performance-mæssigt det bedste.

Hvad vil i foreslå?
Avatar billede jps6kb Novice
05. februar 2010 - 14:39 #1
No takes?
Avatar billede jps6kb Novice
05. februar 2010 - 15:01 #2
I samme tråd:

Er der nogen der har et eksempel på, hvordan man laver GetPdf.aspx?filename=test.pdf ?
Avatar billede arne_v Ekspert
05. februar 2010 - 19:02 #3
re bruger rettigheder)

Hvis vi nu antager at:
1) du allerede har brugere og grupper/roller
2) du allerede har en tabel med en raekke per fil

Saa skal du lave en ny tabel med en raekke per kombination af fil og bruger/gruppe/rolle som har adgang.

M:M

re BLOB)

Hvis du har en serioes database, saa kunne du godt putte filerne i databasen.

Hvis du har et web hotel med 1 GB diskplads og 10 MB database plads, saa skal du nok fortsat bruge fil.

Adgangs problematikken er ioevrigt den samme.
Avatar billede arne_v Ekspert
05. februar 2010 - 19:04 #4
re fil streaming)

void Page_Load(Object sender, EventArgs e)
{
    string filename = Request["filename"];
    byte[] b = ...
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
    Response.BinaryWrite(b);
}

eller lidt mere effektivt : det samme i en .ashx !
Avatar billede jps6kb Novice
16. februar 2010 - 11:44 #5
Så er jeg tilbage - der var lige lidt ting der skulle på plads med brugeren.

Det mest optimale kunne klart være, at jeg kunne tilgå den oprindelige fil på serveren (har egen server der skal anvendes, så plads og andet er ingen hindring)... streaming vil virke, men der er ingen problem med at filnavnet ikke bevares.

Jeg har alle dokumenter i en tabel ligesom jeg har brugere og rettigheder til enkelte filer. Så jeg har lige nu mulighed for, at lade GetPdf.aspx validere på, om brugeren har adgang til filen og ellers nægte at hente den. Super smart til sikkerhed men ikke til filnavn. Nogen bud på, hvordan man får det bedste af to verdener? :)
Avatar billede jps6kb Novice
16. februar 2010 - 12:03 #6
Evt. er der en måde at fange at der forsøges at downloade fra en bestemt mappe? F.eks. /docs/dokument1.doc og køre noget kode der kan afvise eller tillade det?
Avatar billede jps6kb Novice
16. februar 2010 - 12:42 #7
Ahh - godt så. Jeg læste ikke lige din kode ordentlig igennem Arne... men ja, fuldstændig det jeg manglede.

Response.AddHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");

Smider du et svar? :)
Avatar billede arne_v Ekspert
16. februar 2010 - 15:22 #8
kommer her
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