2012-03-21 4 views
1

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

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

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

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

Любые предложения?

ответ

1

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

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

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

+0

Мне нравится этот ответ. У меня есть статический метод, который преобразует DataTable в JSON. Если бы я создал объект с этими свойствами, он бы сериализовал красиво. И мне нужно было бы только отменить роли, необходимые для этих элементов. Ницца. – tedski

Смежные вопросы