如何使用Google+身份验证在ASP.NET5 MVC6中创建不同的用户帐户类型

时间:2016-03-18 03:51:37

标签: authentication oauth-2.0 visual-studio-2015 asp.net-core-mvc google-authentication

假设我开始使用基于默认Visual Studio 2015 Web应用程序模板的ASP.NET5 MVC6 webapp,该模板启用了单独的用户帐户和Google+(FB,LI)身份验证。

然后我创建了两个注册页面,一个针对消费者用户,另一个针对专业人士。如果用户来自消费者注册页面,我希望应用程序创建消费者用户帐户。如果用户来自专业注册页面,我希望该应用创建专业用户帐户。

我该怎么做才能自定义默认解决方案?

  • 将角色参数传递给/ Accounts / ExternalLogin,然后以某种方式通过OAuth流程保存它并修复用户创建逻辑?

  • 相同但是使用Cookie来传递角色信息?

  • 或者可能有2份外部登录基础设施 - 每个都负责自己的帐户类型?

Isn是一个常见问题 - 如何将其他信息传递给负责创建帐户的代码?

1 个答案:

答案 0 :(得分:0)

  

我该怎么做才能自定义默认解决方案?

用例子做了很好的解释: ASP.NET 5 Documentation - > Authorization

  

我想...创建消费者用户帐户......并创建专业用户帐户......

在我看来,您可以为所有人使用(创建)一种帐户类型(通用Db),然后在注册过程中,您可以为此帐户分配其他属性。您可以使用角色或声明,这样您就可以个性化用户体验,具体取决于帐户类型' (使用授权)。

如果您只想拥有客户/专业帐户,可能Role-Based Authorisation可能更容易使用,但Claims-Based Authorisation稍微有点弹性,将来会有所帮助。