Авторизация элементов пользовательского интерфейса в .NET WinForms

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

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

if( current_user.IsInRole("administrator") )
  button.Enabled = true;

Я изучал аспекты с PostSharp, которые кажутся почти именно тем, что я хочу сделать, но, похоже, это не распространяется на UI.

Я уверена, что что-то упустила, что это такое?

Спасибо -

5
задан grefly 16 December 2010 в 16:52
поделиться