Создать страницу настроек - PullRequest
0 голосов
/ 30 января 2012

Я делаю приложение ASP.Net MVC 3 в VS 2010. У меня есть задача создать страницу настроек, в которой столбцы из таблиц в моей базе данных будут иметь определенные разрешения (чтение, чтение / запись и т. Д.) .

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

Я попытался щелкнуть правой кнопкой мыши на проекте в VS, а затем перейти в Настройки. Была ссылка, в которой говорилось, что в моем проекте не было страницы настроек, поэтому я щелкнул ее, чтобы создать. Появилась таблица с настройками, но есть только общие / внутренние модификаторы доступа. Кажется, я не могу найти запись / чтение.

Это правильный способ создания страницы настроек? Или есть другой?

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

прости, Андрей.Я ответил на ваш вопрос довольно спешно ранее.Поэтому я думаю, что мой ответ стал совершенно неясным.Я так виноват.Я сделаю все возможное, чтобы ответить на это более четко.Мой ответ может быть довольно длинным, и я надеюсь, что вы достаточно терпеливы, чтобы закончить читать это.: -)

На самом деле, ваша проблема может быть решена очень простым способом.Поверь мне!На самом деле вам не нужна страница настроек для этого.

Я полагаю, у вас в вашей базе данных будет таблица Users для хранения учетных записей пользователей в вашей системе.Правильно!И снова, я предполагаю, что таблица Users будет иметь по крайней мере следующие поля:

  • UserID [Это должен быть первичный ключ для таблицы.Правильно!]
  • Имя пользователя
  • Пароль
  • Электронная почта [Это необязательно.]

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

Хорошо, создайте еще одну таблицу с именем Permissions в вашей базе данных.Эта таблица Permissions будет обрабатывать права доступа для ваших пользователей в приведенной выше таблице Users.Хорошо!Тогда у вас есть две таблицы.Один - ваш оригинальный Users стол, а другой - Permissions стол.

Хорошо!Наша новая таблица Permissions будет иметь как минимум следующие поля:

  • ID [Это первичный ключ для этой таблицы.]
  • UserID [Это будет внешний ключ из вашей предыдущей таблицы Users.]
  • PermissionRead [это поле будет содержать boolean тип данных или bit тип данных.True или False для Boolean и 0 или 1 для bit.Это полностью зависит от типа используемой СУБД.]
  • PermissionWrite [снова, так же, как PermissionRead.]

Хорошо, теперь у вас есть две таблицы.Эти поля разрешений на чтение и запись предназначены для хранения прав доступа для ваших пользователей.

Если у вас есть точная схема БД, как я описал выше, то у вас будет следующий вид отношений, подобный этому:

Пользователи Таблица
Идентификатор пользователя | Имя пользователя | PW
U-001 |Тим |Литературный пароль
U-002 |Джим |jimpassword

Разрешения таблица
ID | ИД пользователя | PermissionRead | PermissionWrite
1 |U-001 |Правда |Неверно
2 |U-002 |Правда |True


Итак, вы можете видеть, что User Tim, который является UserID U-001, имеет разрешение только на чтение, а User Jim, который является U-002, имеет оба разрешения на чтение и запись.

Итак, вы можете проверить состояние этих полей при входе конкретного пользователя в систему.Если он или она имеет PermissionRead значение True и PermissionWrite значение false, то этот пользователь имеет право только для чтения.Или же, если оба значения имеют значение true, тогда у этого пользователя есть разрешение на чтение и запись.Хорошо!

Я изо всех сил пытался объяснить это, и я действительно надеюсь, что вы поймете мой ответ.Я действительно делаю ... !!!
Мое предложение состоит в том, чтобы вы сначала попробовали этот метод.И, если вы в порядке с этим, я могу объяснить больше, как установить разрешения на уровне группы с помощью этого метода.Хорошо!Потому что мой ответ стал довольно длинным, и я боюсь, что тебе скучно читать это ... ;-)

1 голос
/ 30 января 2012

На самом деле вам не нужна страница настроек для подобных задач.Самый простой способ предоставить разрешения пользователям в ASP.Net заключается в том, что вам нужно создать таблицу в своей базе данных.Давайте просто назовем это Разрешения .
Затем создайте эти поля в этой таблице:

  • PermissionID (тип данных, который вы хотите)
  • UserID (это должен быть внешний ключ из вашей таблицы Users)
  • Read (булево илибитовый тип)
  • Запись (то же самое, что и чтение)
  • Оба (то же самое, что и чтение)

У вас есть таблица, которая связана с вашей пользовательской таблицей.Вы можете установить разрешения для пользователей в таблице «Пользователи» в этой таблице «Разрешения», задав для них логическое значение (true или false) или бит (0 или 1).
Затем, когда ваш пользователь войдет в систему, вы можете проверитьэти значения «чтение», «запись» и «оба» из этой таблицы разрешений и позволяют этому конкретному пользователю на основе этих истинных или ложных значений.

Например, если конкретный имеет только значение Read для true, а другие значения false, то вы можете сказать, что этот пользователь имеет разрешение «только для чтения».

Это основная идея длясоздание пользовательских разрешений с базами данных.Конечно, вы можете сделать некоторые дополнительные функции из инструментов базы данных.Но я думаю, что это самый простой способ сделать это.
И вы можете добавить в эту таблицу много типов разрешений, которые вы хотите.
С помощью этого метода вы даже можете создавать группы.Например, предоставление разрешений определенной группе даст разрешение всем пользователям этой группы.

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