Я создаю приложение ASP.Net MVC, которое будет запускаться в учетной записи общего хостинга для размещения нескольких доменов. Я начал с шаблона по умолчанию, который включает членство и создал область mvc для каждого домена. Маршрутизация настроена так, чтобы указывать на правильную область в зависимости от домена, для которого требуется запрос. Теперь я хотел бы настроить членство в каждой области mvc. Сначала я попытался сделать очевидный и попытался переопределить раздел web.config для каждой области, чтобы изменить атрибут applicationName поставщика. Это не работает, поскольку область не настроена как корень приложения. Есть ли простой способ разделить пользователей для каждой области?ASP.Net MVC для каждой области членства
3
A
ответ
2
Я думаю, у меня есть рабочее решение, которое держит каждую область полностью отдельной. Используя шаблон по умолчанию в качестве отправной точки, я добавил еще один конструктор в класс MvcApplication1.Models.AccountMembershipService, чтобы принять строку (также изменил существующие конструкторы для устранения неоднозначности).
public AccountMembershipService()
{
_provider = Membership.Provider;
}
public AccountMembershipService(MembershipProvider provider)
{
_provider = provider ?? Membership.Provider;
}
public AccountMembershipService(string applicationName)
: this()
{
_provider.ApplicationName = applicationName;
}
Затем я скопировал AccountController в каждую область и модифицирован Initialize перегружать включать название области из данных маршрутов.
protected override void Initialize(RequestContext requestContext)
{
if (FormsService == null) { FormsService = new FormsAuthenticationService(); }
if (MembershipService == null) { MembershipService = new AccountMembershipService(requestContext.RouteData.DataTokens["area"].ToString()); }
base.Initialize(requestContext);
}
Теперь каждая область зарегистрирована в качестве нового приложения под аутентификацией форм, а все пользователи и роли должны храниться отдельно.
Смежные вопросы
- 1. Роли членства ASP.NET MVC
- 2. asp.net mvc - поставщик членства
- 3. Поставщик членства ASP.NET MVC
- 4. предложения для членства в приложении ASP.NET MVC
- 5. ASP.NET MVC и поставщик шаблонов членства ASP.NET
- 6. ASP.NET MVC Forum с использованием членства ASP.NET?
- 7. Переопределение членства ASP.NET в ASP.NET MVC 4
- 8. asp.net mvc session и аутентификация членства
- 9. ASP.NET MVC многоуровневые области
- 10. Поставщик членства нескольких арендаторов ASP.NET MVC
- 11. Asp.net переопределяет настройки членства во время выполнения (asp.net mvc)
- 12. ASP.NET MVC/AX - Пользовательский поставщик членства
- 13. ASP.NET MVC Пользовательский поставщик членства «CreateUser»
- 14. Вход для членства в ASP.NET MVC для разных доменов
- 15. Альтернативы членства ASP.NET
- 16. Ошибка членства ASP.NET
- 17. Назначение модели ASP.NET MVC для области AngularJS
- 18. ASP.Net MVC: Создание области для запросов json
- 19. Для каждой переменной, недоступной для каждой области.
- 20. ASP.NET MVC 1.0 Поддержка области
- 21. asp.net журнал активности членства
- 22. Durandal.js: изменить параметры навигации для каждой области
- 23. Специальный маршрут области (ASP.NET MVC)
- 24. ASP.NET MVC 2 Области 404
- 25. ASP.NET MVC маршрутизации и области
- 26. MVC - Получение членства для работы
- 27. Asp.Net MVC IgnoreRoute внутри области
- 28. Поставщик членства ASP.NET MVC и ASP.NET - глобальная проверка подлинности
- 29. Как создать пользовательский поставщик членства для ASP.NET MVC 2?
- 30. Минимальная база данных для управления ASP.NET MVC 3/членства
Мне немного любопытно, почему вы используете области, чтобы сделать это для начала. На самом деле это не нормальный случай использования. – Mallioch
Что вы описываете, это приложение Multi-Tenant. Сделайте поиск этого термина, и вы найдете несколько примеров. –
@Mallioch Я делаю это, потому что я дешев, и мне нравятся чистые URL-адреса. :) У меня есть одна учетная запись хостинга, но я поддерживаю свой личный домен, а также один для моей церкви, и я начинаю снимать фотографию своей жены. Эта настройка позволяет мне поддерживать каждый домен как логически раздельную область mvc, поддерживать чистые URL-адреса для каждого, но при этом использовать только одну учетную запись хостинга и одну базу данных sql. – AdmSteck