Laden...

ASP.NET und IIS8.5 Ordnerzugriff dynamisch einschränken

Erstellt von d.gierse vor 6 Jahren Letzter Beitrag vor 5 Jahren 1.332 Views
D
d.gierse Themenstarter:in
115 Beiträge seit 2006
vor 6 Jahren
ASP.NET und IIS8.5 Ordnerzugriff dynamisch einschränken

Hallo,

ich habe eine WebForms-Anwendung mit einer laufend wachsenden Zahl an Kunden, die darin verwaltet werden. Zur Authentifizierung verwende ich FormsAuthentication.
Jeder Kunde soll nun die Möglichkeit bekommen, in einem Verzeichnis für sich und alle zum Kunden gehörenden Benutzer HTML-Seiten abzulegen, z.B. mit einer Beschreibung.

Dazu lege ich nun in meiner Webanwendung in einem Ordner für jeden Kunden anhand seiner Kundennummer einen neuen Ordner an, in dem er die HTML-Seiten ablegen kann. Ich habe dann im Webserver eine Ordnerstruktur:

CustomerData

 - infos1.html  
 - infos2.html  

-3 - beschreibung.html

Kann ich nun irgendwie verhindern, das ein Benutzer von Kunde 3 die HTML-Seiten von Kunde 1 aufrufen kann, ohne in der web.config nun für jedes Verzeichnis einen Eintrag machen zu müssen?

16.807 Beiträge seit 2008
vor 6 Jahren

Du willst ein Mehrmandantensystem; ergo muss das Deine Logik vollständig abdecken - oder Du baust Dir eine Mehrmandanten-Datenbank.
Weder ASP.NET Konfigurationsmaßnahmen noch der IIS helfen Dir da.

PS: sofern es sich um Kundendaten handelt, musst Du im Hinblick besonders sorgfältig im Rahmen von GDPR sein.

D
d.gierse Themenstarter:in
115 Beiträge seit 2006
vor 6 Jahren

also ich bin schon davon überzeugt, das mir der IIS und ASP.Net da helfen können. Die einfachste Methode wäre es, in jedem Mandantenordner eine web.config abzulegen, in der ich mit


<system.web>
  <authorization>
    <deny users="*"/>
    <allow roles="Mandant3"
  </authorization>
</system.web>

den Zugriff auf eine Rolle einschränke. Nur ich müsste halt für jedes Verzeichnis eine web.config mit dem passenden Inhalt bei allow roles erstellen und im Verzeichnis ablegen. Die Rolle bekommt der Benutzer dann halt beim Login anhand seiner Mandantschaft(en) zugewiesen.

Da frage ich mich halt, ob das nicht einfacher geht

16.807 Beiträge seit 2008
vor 6 Jahren

Du kannst das ruhig so machen, aber das ist dann ziemlich unsicher und schei*e.
Und nein, Dein Forms-Login kann hier nicht verwendet werden. Das würde in der Form nur bei Windows-Authentication funktionieren.

D
d.gierse Themenstarter:in
115 Beiträge seit 2006
vor 5 Jahren

moin,

kannst Du erklären, warum das unsicher ist?

16.807 Beiträge seit 2008
vor 5 Jahren

Weil Du physikalischen Zugriff nach Außen freigibst.
Eine falsche NTFS Einstellung - zB. durch ein unbedachtes Konfigurieren - und die gesamte Festplatte ist (theoretisch) zugreifbar.