ASP.NET Security mit mehreren Web-Applikationen

14/10/2007 - 20:22 von Toni Pohl | Report spam
Hi all,

ich möchte in einem Intranet eine Art Single Sign On in mehreren einzelnen
Web-Applikationen verwenden.

D.h. eine zentrale Login-Seite (als eigenes Projekt) und mehrere Webs
(jeweils in einem eigenen Unterverzeichnis), z.B.
C:\wwwroot\myapp mit Login + Shared DLLs
C:\wwwroot\myapp\subweb1 Sub-Web 1
C:\wwwroot\myapp\subweb2 Sub-Web 2
C:\wwwroot\myapp\subweb3 Sub-Web 3
etc.

Warum? Die Subwebs sollen einzeln wartbare, kleine, handliche WebApps sein,
die unabhàngig voneinander aktualisiert werden können. Bei Login und Logout
sollen also auch die Subwebs das "mitbekommen" und sich dementsprechend
verhalten.
Jedes Subweb besitzt Bereiche (also Webseiten), welche mit oder ohne Login
funktionieren, mit Login gibts halt mehr Funktionen, weil der User bekannt
ist.

Alle Webs verwenden dieselbe Datenbank. Wie kann man das (mit Forms
Authentication) am besten erreichen?

Danke für Tipps!
mlg, Toni
 

Lesen sie die antworten

#1 Thomas Bandt
14/10/2007 - 20:51 | Warnen spam
Hi,

Toni Pohl schrieb:
Warum? Die Subwebs sollen einzeln wartbare, kleine, handliche WebApps
sein, die unabhàngig voneinander aktualisiert werden können. Bei Login
und Logout sollen also auch die Subwebs das "mitbekommen" und sich
dementsprechend verhalten.



existieren die Anwendungen schon, oder bist du noch in der Planungs-
phase und erstellst sie selbst?

So wie es sich für mich liest, würdest du nach meiner Erfahrung
wohl besser fahren, wenn du alles in eine Anwendung packst. Aber
um das beurteilen zu können bràuchte es mehr Details.

Ich würde mich jedenfalls noch nicht zu 100% darauf versteifen es
aufzuteilen.

Falls es doch nicht anders geht, fallen mir zwei Dinge ein:

1. Session-ID in der URL mitschleifen, dann kann man den SessionState
auch über Applikationsgrenzen hinweg verwenden.

2. Eine Brücke bauen, über die du dich GET-basiert jeweils an der
Sub-Applikation authentifizierst. Kurzform: Session-ID in eine
Datenbanktabelle schreiben (transferOn.aspx), weiterleiten mit
eben jender ID auf transferOff.aspx?SID=... hier prüfen ob die
SID existiert, wenn ja ist die Authentifizierung möglich - wenn
nicht, dann nicht. Manipulationsmöglichkeiten sind theoretisch
Vorhanden, praktisch aber eher nicht relevant wenn man die SID
nach dem Auslesen gleich löscht, weil sich dann alles in Milli-
sekunden abspielt.

Wie man das jetzt mit FormsAuthentication verknüpft, was man
sinnvollerweise benutzen sollte, weiß ich aber gerade nicht ausm
Kopf.

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de - Beratung, Entwicklung
http://blog.thomasbandt.de - Thomas goes .NET

Ähnliche fragen