Ich arbeite an meiner zweiten mandantenfähigen MVC-Anwendung. Meine erste verwendete keine Subdomains. Stattdessen wurden Routen mit dem ersten Parameter für die Kennung "mient" (clientportal) verwendet.Authentifizieren bei Verwendung einer Subdomänenroute
Route route = new Route("{clientportal}/{controller}/{action}/{id}",
new RouteValueDictionary(new
{
controller = "ClientPortalHome",
action = "Index",
id = UrlParameter.Optional
}), new PortalRouteHandler());
Dieses Mal muss ich tatsächliche Subdomains verwenden.
Client1.mysite.com
Client2.mysite.com
Um dies zu erreichen, implementiert ich eine Sub-Domain Route ähnlich wie diese:
Is it possible to make an ASP.NET MVC route based on a subdomain?
Meine Frage ist . Wo kann ich meinen Benutzer laden und die Anfrage authentifizieren?
Application_AuthenticateRequest wird vor der Subdomänenroute ausgelöst. Dies bedeutet, dass bei der Ausführung von AuthenticateRequest nicht bekannt ist, für welchen Mandanten die Anfrage bestimmt ist.
Vielleicht kann ich den Benutzer laden und authentifizieren die Anfrage in der Subdomain Route Code, aber das riecht falsch.
Was fehlt mir hier?
Ich erstellte schließlich ein WorkContext-Objekt, das eine Lazy-Eigenschaft verwendet, um meinen Benutzer zu halten. Ihre Lösung hätte auch gut funktioniert. –
rboarman