Аутентификация и роли в WPF - PullRequest
6 голосов
/ 19 января 2011

Я делаю проект в WPF. Я получил требование аутентифицировать пользователя и предоставить доступ к модулям в зависимости от роли. У меня есть лучший способ добиться этого в WPF.

1 Ответ

2 голосов
/ 19 января 2011

Частично это будет зависеть от того, насколько безопасным вам нужен код.

Тем не менее, во всех случаях использования используйте шаблон Model-View-ViewModel. В каждой ViewModel, возможно, лучше всего поместить в базовый класс для всех ваших классов ViewModel, включите переменную состояния, которая возвращает строку и вызывает событие PropertyChanged при каждом изменении состояния безопасности.

Для каждого класса View основывайте презентацию на значении этой строки, следуя схеме, аналогичной принятому ответу на этот вопрос SO:

https://stackoverflow.com/questions/3868164/

Ответ описывает, как это сделать с логическими значениями, но вы можете использовать любое строковое значение, кроме «True» или «False», если вашей переменной состояния ViewModel требуется более двух состояний.

Весь код .NET, включая WPF, может быть легко переработан. Если ваш код должен быть более безопасным, чем этот, то есть, если в вашем сценарии использования предполагается, что ваши пользователи будут взламывать вашу программу WPF, тогда вы захотите запутать и / или зашифровать большую часть кода ViewModel, используя коммерчески доступные продукты, такие как InishTech's. SLPS или Dotfuscator или что-то еще.

В качестве альтернативы, вы можете использовать тот же шаблон MVVM и написать приложение Silverlight, но я не уверен, есть ли у пользователя Silverlight доступ к двоичным файлам, как у пользователя WPF на рабочем столе.

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