Приложение Silverlight для избранных пользователей Windows - PullRequest
1 голос
/ 05 февраля 2011

У меня есть простое приложение Silverlight, размещенное в корпоративной сети.Однако я хочу разрешить доступ к этому сайту лишь немногим избранным пользователям NT и ограничить остальных.Как мне это настроить?

Также будет ли работать такая конфигурация вне браузера?

Ответы [ 2 ]

1 голос
/ 05 февраля 2011

Вы должны включить встроенную проверку подлинности Windows на веб-сайте IIS или в конфигурации виртуального каталога. После этого в любой момент вы можете взять объекты User.Identity и User.Principal и привести их к WindowsIdentity и WindowsPrincipal и проверить, находится ли текущий пользователь в определенной роли (он же в группе Windows) или его / ее имя пользователя ...

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

0 голосов
/ 05 февраля 2011

Есть несколько вещей, которые вы можете сделать.

1) Ограничить доступ к веб-сервисам, на которые он звонит - ответ Дэвиде хорошо описывает это.

2) Ограничить доступ к веб-сайту, гдесуществует приложение SL, которое легко сделать с ASP.NET и встроенной поддержкой аутентификации Windows через MembershipProvider.Таким образом, пользователь даже не сможет загрузить HTML-страницу с приложением Silverlight, если он не в нужной роли.Это также помешает им установить приложение как Out of Browser, так как они никогда не смогут получить его в первую очередь.

3) В режиме OOB приложения (когда Application.Current.IsRunningOutOfBrowser имеет значение true),при запуске звоните в веб-сервис, который проверяет, что пользователь находится в правильной роли - если это не так, приложение может просто отобразить «не авторизованный» визуал и не показать реальную функциональность приложения.

Таким образомЕсли пользователь когда-либо был в роли и установил приложение OOB, но затем потерял это разрешение, он все равно не смог бы использовать приложение.

Что касается реализации всего этого, я предлагаю посмотреть наWCF RIA Услуги.Он имеет отличную поддержку аутентификации / авторизации, которая должна упростить его реализацию, даже если вы не хотите использовать службы RIA для доступа к данным по какой-либо причине (хотя я также рекомендую это, это помогает скрыть большую часть асинхронной сложности данных Silverlightдоступ).

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