Членство в ASP.NET MVC - PullRequest
       1

Членство в ASP.NET MVC

0 голосов
/ 23 сентября 2010

У меня небольшая проблема с дизайном моего приложения и членством в MVC.

На моем сайте есть 3 таблицы: пользователи, клиенты и авторы, ни одна из которых не связана друг с другом, но каждая из нихподключен к куче других таблиц, поэтому я не могу объединить их в одну большую таблицу пользователей.

Я не уверен, как реализовать все членство, авторизацию, так как у меня есть три формы входа, однадля каждой сущности БД и при вызове User.Identity.IsAuthenticated я не смогу сказать, кто вошел в систему.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 23 сентября 2010

Похоже на случай авторизации на основе ролей , и если вы используете встроенного поставщика членства ASP.NET, это довольно просто.

Создание роли для пользователей, клиентов, авторов.

Тогда вы можете сделать это:

if (User.Identity.IsAuthenticated)
{
   if (User.IsUserInRole("Customer")
      ...
   else if (User.IsUserInRole("Author")
      ...
}

Вот статья с кратким обзором.

Хотя, как говорится, переосмыслите свой дизайн для тех трех таблиц.

Вы можете легко иметь одну таблицу со всеми пользователями. Эта таблица не должна заботиться о «типе пользователя» каждой записи, это обрабатывается поставщиком членства ASP.NET.

0 голосов
/ 23 сентября 2010

Я рекомендую вам перейти на одну пользовательскую таблицу.Просто добавьте в таблицу пользователей поле, определяющее тип пользователя (клиент, автор и т. Д.).Не нужно объединять все таблицы в одну.

...