Доступ к ролям пользователей на стороне клиента - PullRequest
1 голос
/ 22 марта 2012

Я пытаюсь найти эффективный способ ограничения прав пользователей в зависимости от их ролей. Я использую ASP.NET WebMethod s для передачи данных через JQuery AJAX. Я использую пользовательский поставщик ролей, который сохраняет роли пользователя в зашифрованном файле cookie ASP. Я могу получить доступ к этим ролям с помощью

HttpContext.Current.User.IsInRole("rolename")

Для большинства моих запросов я отправляю обратно сериализованную таблицу данных JSON, а затем собираю HTML в jQuery. По сути, я хотел бы (при создании HTML) выяснить, находится ли пользователь в роли, а затем отключить кнопку или выделить поле серым цветом.

Изначально я думал, что могу передать роли asp:Hiddenfield с главной страницы, но в моей разметке страницы сохраняется массив открытого текста

Есть предложения?

1 Ответ

2 голосов
/ 22 марта 2012

Почему бы не создать объект, который включает в себя как DataTable, так и данные разрешений?

{"canEdit":"true", "canDelete":"false", "dataTable": ...}

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

...