2014-11-02 3 views
0

Я работаю над проектом C# WebApi/MVC, который имеет довольно большой процесс документооборота для создания пользователя и размещения в их требуемой информации. Приблизительно 10 основных шагов, в которых он может технически выполнять часы пользователя для заполнения.Рабочий процесс сеанса REST для создания пользователей

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

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

Хотя все это звучит легко и просто теоретически с использованием сеансов, что я мог бы сделать в MVC, я хочу сделать это в WebApi с REST, в котором REST должен быть STATELESS.

Кто-нибудь сталкивался с подобными проблемами, и если да, то что они рекомендуют в качестве подхода? Возможные варианты:

-Отменить REST для стандартного MVC для этого процесса и оставить WebAPI только для чтения, а не для Writes, поскольку единственный процесс записи - это создание пользователей/учетных записей.

-Использование токенов аутентификации? Но может ли этот процесс успешно справиться с этим процессом?

-Когда пользователь создан, возьмите имя пользователя/пароль для каждого вызова REST как auth для WebAPI? Храните пользователя/пароль в сеансе MVC и напрямую вызывайте API из MVC, мобильные приложения просто сохранили имя пользователя/пароль в приложении и вызвали WebAPI (я думаю, что это наиболее подходит)

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

Заранее благодарен!

ответ

0

Я бы предпочел изменить обычный поток регистров WebAPI OWIN.

  1. Соберите базовую информацию о пользователе и опубликуйте в веб-API через Ajax. Если это удалось - отправьте маркер OWIN обратно вызывающему в HTTP-заголовке.
  2. Перейдите к дополнительным шагам для обновления информации о пользователях (например, через HTTP PUT) и поместите маркер в заголовок аутентификации. Отметьте процедуру обновления WebAPI с помощью Атрибут авторизации.

Этот blog post может помочь настроить WebAPI для выдачи и приема жетонов на предъявителя.

Смежные вопросы