根据服务器上现有的用户配置文件注册用户

时间:2015-01-12 08:04:17

标签: asp.net-mvc rest asp.net-web-api asp.net-web-api2

我正忙于在VS 2013中使用Web Api 2项目。我们有许多已建立的应用程序,并且在每个客户端注册了数千个用户,其中有数千个用户。

我被分配了创建移动应用程序(Cordova / Phonegap),但在我能够做到这一点之前,我需要创建一个可以从应用程序处理http请求的API。

我们有一个包含173个表的大型数据库,包括一个用户表。该数据库存在于每个客户端(具有自己的用户)。我已将默认的AspNet ...表导入我们的数据库,更改了连接字符串并成功设法在我们的数据库中注册用户。

AspNet default tables

我的问题是:是否可以添加其他注册要求?例如除了电子邮件,密码,(ConfirmPassword),我还要添加:

1)手机号码

2)身份证号码

这样它们也写入AspNetUsers,然后以某种方式创建一个指向我现有USERS表的外键链接,让我们说一下用户提供的ID号?

我们的想法是不让任何用户注册尚未在数据库中注册的移动APP

那么,它应该如何在我脑海中工作并不一定正确,但这里有一个总结如下:

1)来自应用商店的用户下载应用。
2)应用程序显示注册/登录屏幕,用户注册电子邮件,密码,ConfirmPW,MobileNr,ID
3)App使用上述信息向API发送HTTPS Post请求。
4)API获取信息,在绑定到模型并写入db之前,首先查询现有的User表。如果用户存在ID和移动号码,则创建AspNetUsers记录(使用FK引用Users表)。如果不是,则不允许用户注册,并且返回消息,例如,您需要成为" CompanyName"的客户。注册。
5)此后,用户登录并使用Bearer令牌等(默认登录方式)。

我知道这不一定是它在实践中如何运作,但可以做到这样的事情。我不想重新发明任何轮子,只添加上面列出的内容。提前谢谢。

1 个答案:

答案 0 :(得分:1)

是的,您可以自定义用户信息。您需要自定义IdentityUser类。 Here是一个很好的教程,如何做到这一点。我甚至设法将AspNetUsers表中的正常Id(由deault为nvarchar)更改为int。