azure移动服务和asp.net网站 - 需要支持用户角色

时间:2014-04-23 19:36:49

标签: asp.net-mvc-4 azure-mobile-services azure-web-sites

我正在开发一个具有天蓝色asp.net mvc网站和天蓝色移动服务的应用程序。两者都将使用相同的azure sql数据库。

我了解我可以使用我的移动服务使用自定义或Microsoft,基于Facebook的身份验证。我将建立的网站和移动应用程序将根据用户的角色在网站和移动应用程序中具有不同的功能。

我应该如何实施用户角色?如果这只是一个asp.net应用程序,我会使用ASP.NET身份,但不知道如何使用移动服务。

我在一年前发现了一个类似的问题而没有解决问题 - Using ASP.NET 4.0 membership provider with Azure Mobile Services

如果有现有的实施或指导,请指出我的方向。感谢。

1 个答案:

答案 0 :(得分:1)

截至今天,无论你如何分割它,都不是一个非常简单的方法来处理它。您可以查看这篇文章(还有另一个处理与此相关联的JavaScript后端)http://www.acupofcode.com/2014/04/general-roles-based-access-control-in-the-net-backend/,它讨论了使用Azure Active Directory进行基于角色的访问控制。 AAD可能不是你想要的选择。在这种情况下,您需要自己在移动服务中实施角色和检查。如果您只有两个级别,例如"普通用户"和" admin"你可以根据user.level属性来决定所有内容,如果它们是"经过身份验证的"他们只有基本的用户访问权限,但如果他们是“管理员”#34;他们有管理功能。您仍然需要在后端执行基于角色的逻辑,但我认为您无论如何都需要处理它。

或者,我认为你可以看到的是使用ASP.NET身份系统。然后,从您的移动服务中,您可以使用我在此处记录的相同类型的自定义身份验证(http://chrisrisner.com/Custom-Authentication-with-Azure-Mobile-Services-and-LensRocket),而不是像您的样本那样在移动服务中检查和存储用户名/密码,当用户进入注册/登录时,您可以检查ASP.NET身份系统创建的用户后端。我没有那个工作样本,但听起来很可取。