我正在开发一个C#WebApi / MVC项目,该项目具有相当大的工作流程,用于创建用户并放置所需信息。 涉及大约10个主要步骤,从技术上讲,用户可以花费数小时来填写。
第一步采用标准基本信息,如用户名,密码,电子邮件,姓名,地址等。
我想要做的是在第一步成功之后,发送一个休息调用,在user表中创建基本用户,然后准备一个会话,以便在填写任何字段时进一步执行接下来的步骤,它将自动发送ajax调用并更新数据库中的字段。
虽然理论上使用会话这一切听起来很容易和简单,我可以在MVC中做,但我想在WebApi中使用REST来实现这一点,其中REST应该是STATELESS。
是否有人遇到类似的问题,如果有的话,他们建议采用什么方法?我目前可以想到的选项是:
- 为此过程删除REST标准MVC,并将WebAPI仅用于Read而不是Writes,因为唯一的Write过程是用户/帐户的初始创建。
- 使用身份验证令牌?但是,这可以成功处理这个过程吗?
- 创建用户后,将每个REST调用的用户名/密码作为WebAPI的身份验证?将用户/密码存储在MVC会话中并直接从MVC调用API,移动应用程序只会将用户名/密码存储在应用程序中并调用WebAPI(我认为这是最合适的)
有人能告诉我这些选项是否是最佳做法,或者是否有人有更好的最佳实践/流程?我希望尽可能多地编写一些内容来覆盖Web和Mobile,而不是必须复制进程。
提前致谢!!!
答案 0 :(得分:0)
我会考虑修改常规的WebAPI OWIN寄存器流程。
此blog post可以帮助设置WebAPI以发布和接受承载令牌。