Применение авторизации и безопасности для RIA - PullRequest
1 голос
/ 06 мая 2011

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

  1. Если мне нужно отобразить форму, динамически захватите ее с сервера.Это работает, но заставляет сервер выполнять больше работы, чем просто маршалировать туда-сюда JSON.
  2. Вернуть данные учетной записи с сервера и выполнить весь код авторизации на клиенте.Я взял быстрый пик в basecampmobile, и, кажется, они делают что-то вроде этого.Мой вопрос заключается в том, действительно ли сокрытие этой информации за закрытием действительно защищает ее, или это «безопасность от безвестности»?

Ответы [ 2 ]

0 голосов
/ 10 июля 2011

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

Мне не нравится авторизация на основе ролей служб RIA.Намного более интуитивно понятно использовать авторизацию на основе доступа, как, например, в SQL Server, и это не заставляет вас заново внедрять систему безопасности на стороне клиента.Например, вместо того, чтобы x, y и y могли получить доступ к этому методу createCustomer (..), более интуитивно понятно, что кто-то с правом «Создать» может получить доступ к этому методу.У меня есть среда с открытым исходным кодом, которая облегчает этот тип авторизации Подробнее читайте здесь .Это называется saf-framework.

0 голосов
/ 06 мая 2011

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

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

...