Обработка привилегий пользователей в приложении внешней оболочки, которое делегирует управление пользователями серверной части Dynamic CRM 2011.

В настоящее время у меня есть текущий проект, который в основном представляет собой интерфейс для Microsoft Dynamics CRM 2011. Я аутентифицирую пользователя, используя его имя пользователя и пароль для нашей собственной установки CRM, и получаю доступ ко всем данным, используя их привилегии. Все управление привилегиями, включая контроль доступа, осуществляется CRM. Сам интерфейс не управляет пользователями или привилегиями. В основном есть 3 страницы: страница входа, главная страница, где все загружается динамически с помощью пользовательских элементов управления, и страница ошибок.

В настоящее время я думаю о том, чтобы добавить туда менеджер журналов elmah, чтобы мне было проще проверять ошибки, не ставя под угрозу безопасность. Естественно, это означает разместить его за стеной администратора, чтобы он был недоступен снаружи. Однако во внешнем интерфейсе нет отдельной системы управления привилегиями, поэтому я не могу просто сказать «разрешить роль администратора, запретить*» в моем файле web.config, потому что роли администратора нет.

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


person Nzall    schedule 28.05.2014    source источник
comment
Это MVC или WinForms?   -  person Daryl    schedule 28.05.2014
comment
Это ни то, ни другое, это простое классическое веб-приложение ASP.net.   -  person Nzall    schedule 29.05.2014
comment
Да, я имел в виду WebForms, а не WinForms, мой плохой...   -  person Daryl    schedule 29.05.2014


Ответы (1)


Я бы добавил код в ваш PageLoad, чтобы проверить, есть ли у текущего вошедшего в систему пользователя учетная запись CRM SystemUser, и если да, проверьте, есть ли у него роль администратора. Если он не просто перенаправляет на другую страницу или отображает ошибку.

person Daryl    schedule 29.05.2014
comment
Я думаю, что это лучший метод. Я также подумал об этом, и хотя пользователи не могут получить доступ к объектам, на которые у них нет прав доступа, мне придется проверить права, которые у них есть, чтобы они не могли видеть кнопки, которые им не разрешено видеть. - person Nzall; 06.06.2014