Защита приложения Silverlight Prism с помощью логина / пароля - PullRequest
1 голос
/ 15 сентября 2011

Я не уверен, как правильно подойти к этому.У меня основная оболочка с регионами.Все, как предписывает ПРИЗМА.Я создаю Bootstrapper в App.xaml и запускаю его.

Как правильно перехватить основной пользовательский интерфейс / призму и аутентифицировать пользователя?Мое приложение не позволяет анонимным пользователям.

РЕДАКТИРОВАТЬ: Я нашел следующую статью, и это выглядит хорошо, но я не уверен, как модуль "зависит от" работает в этом случае.Из того, что я понимаю - модуль входа в систему загружается первым, но затем он загружает другие модули, независимо от того, вошел ли пользователь в систему или нет http://www.prismforsilverlight.com/2011/02/16/login-framework-with-mvvm-and-prism/

EDIT2:

MyГлавный вопрос все еще остается.Как перехватить загрузку оболочки и модуля с помощью пользовательского интерфейса входа в систему?Я ищу лучшую практику, как это делается с PRISM.В статье, о которой я упоминал в EDIT 1, просто пытались решить проблему такого же типа. В ней упоминается SecurityService, но не упоминается КАК представленный экран входа в систему.И все зацепы / механики, стоящие за этим процессом.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2011

ISecurityService.IsLoggedOn свойство не будет ИСТИНА, пока пользователь не войдет в систему успешно.И я думаю, Module1 InitializationMode должен быть установлен как " OnDemand ".Таким образом, когда вызывается Module1 IModule.Initialize , он сначала проверяет, ISecurityService.IsLoggedOn == true Если нет, то ничего не произойдет.

Надеюсь, это поможет.

0 голосов
/ 19 сентября 2011

Я ни в коем случае не эксперт Prism, но я предполагаю, что вам нужно проверить свойство ISecurityService.IsLoggedOn в методе Initialize зависимых модулей.

Соответствующие модули все равно будут загружены, но они не будут внедряться в представление, если пользователь не вошел в систему.Я не уверен, как вы справляетесь со случаем, когда загрузка xaps заканчивается, и пользователь все еще находится в процессе входа в систему, но я уверен, что есть какой-то способ повторно инициализировать модули, как только это произойдет.

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