Как реализовать только один пользователь может получить доступ к определенной странице - MVC 3 - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть страница для редактирования информации о продукте.Я хочу ограничить, что только один пользователь может редактировать страницу продукта.Когда новый пользователь открывает его, в то время как текущий пользователь редактирует его, я хотел бы разместить некоторое уведомление, а затем автоматически сделать его доступным, как только текущий пользователь покинет страницу.Любое предложение о том, как я должен подходить к этому?

Ответы [ 4 ]

1 голос
/ 14 декабря 2011

Я бы порекомендовал просто разрешить им редактировать одновременно.

Если вы хотите уведомить последнего человека о сохранении его документа, вы можете добавить столбец «версия» в базу данных.

После сохранения вы должны проверить столбец версии, чтобы убедиться, что строка не была изменена. Если бы он был изменен, вы бы уведомили пользователя об этом.

0 голосов
/ 14 декабря 2011

Попробуйте что-то вроде этого:

Создайте таблицу, похожую на userAccess с IsAccessColumn

, если для страницы доступа пользователя 1 установлена ​​страница доступа isAccess в True

Таким образом, второй пользователь не будетполучить доступ к странице редактирования, если для записей установлено значение true.

Затем установите значение False, если пользователь 1 окончательно отредактировал запись

После этого пользователь 2 теперь может открыть страницу редактирования.

Привет

0 голосов
/ 14 декабря 2011

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

0 голосов
/ 14 декабря 2011

Если я правильно понимаю ваш вопрос, это звучит так, как будто вам нужно знать о параллелизме базы данных. Вот пара статей: MSDN Ironspeed

Теперь, если вывы спрашиваете, как разрешить редактировать записи только одному пользователю, тогда вам нужно будет посмотреть на роли и, кроме того, сказать, что редактировать записи могут только администраторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...