Как защитить приложение Silverlight с помощью экрана входа в систему / пользовательской формы - PullRequest
1 голос
/ 19 января 2011

Я уверен, что для этого должен быть простой ответ, но я не могу понять -

У меня есть приложение Silverlight 4 OOB, для которого требуется экран входа в систему / безопасность. В представлении отображается LoginView (имя пользователя / pw), которое затем передает подробности службе WCF и проверяет ее по базе данных. Он вернет результат клиенту, чтобы сказать, были ли его данные действительными или нет. Эта часть отлично работает.

Где мне нужно какое-то руководство, это лучший способ сохранить тот факт, что пользователь вошел в систему / аутентифицирован для текущего сеанса Silverlight.

Это OOB, поэтому, насколько я знаю, мы не можем использовать какие-либо веб-файлы cookie / сеансы. Я предполагаю, что мы должны хранить какую-то идентичность в потоке, но мне нужны некоторые указатели, пожалуйста.

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

Любые советы или указатели приветствуются - мне просто нужно несколько идей, чтобы начать, пожалуйста.

1 Ответ

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

Просто сохраняйте тот факт, что пользователь проходит аутентификацию везде, где вам нравится - мне нравится объект Application, поскольку это настройка для всего приложения, но вы можете прикрепить свои свойства IsAuthenticaed и / или Roles в любом месте, действительно.

Взгляните на WCF RIA Services - даже если вы не хотите использовать их решение, вы можете взглянуть на сгенерированный код аутентификации, который он создает, и увидеть хороший реальный пример того, как это можетвсе работает.

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

http://www.davidpoll.com/2010/01/01/opening-up-silverlight-4-navigation-authenticationauthorization-in-an-inavigationcontentloader/

http://www.davidpoll.com/2010/05/10/common-navigation-ui-and-authorization-driven-sitemaps/

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