Авторизация в многодомной среде - PullRequest
1 голос
/ 30 ноября 2010

У меня есть система с несколькими домами, то есть наши клиенты совместно используют базу данных.Используя MVC Routing, я могу передать имя клиента в качестве первой части домена ({customer}.server.tld) и преобразовать его в параметр для действий моего контроллера.

Проблемы включают в себя:

Авторизация: как я могу сделать это прозрачно, чтобы разработчикам, выполняющим действия контроллера, не приходилось помнить об этом, и кто-то не авторизованный автоматически получит 403, если он не авторизован для просмотра конкретного клиента?

* 1007Передача параметров: я не хочу, чтобы каждое действие контроллера имело параметр под названием customerId.Данные имеют первичные ключи GUID, поэтому customerId не требуется на уровне доступа к данным.

Что мне здесь делать?Я не хочу, чтобы пользователь менял URL и получал доступ ко всем данным наших клиентов!

1 Ответ

0 голосов
/ 01 декабря 2010

Рассматривали ли вы возможность использования Windows Identity Foundation (WIF) ? Может показаться излишним, но это позволит вам не только отделить AuthN от AuthZ, но также иметь логику кода (в одном месте!), Где вы можете проверить каждое требование клиента (возможно, на основании данных маршрута) и действовать соответственно ... Проверьте некоторые из этих ссылок:

...