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

Asp.net mvc 4 azure移动服务和asp.net网站-需要支持用户角色,asp.net-mvc-4,azure-mobile-services,azure-web-app-service,Asp.net Mvc 4,Azure Mobile Services,Azure Web App Service,我正在开发一个具有azure asp.net mvc网站和azure移动服务的应用程序。两者都将使用相同的azure sql数据库 我知道我可以使用我的移动服务使用自定义或基于Microsoft、Facebook的身份验证。我将构建的网站和移动应用程序将根据用户的角色在网站和移动应用程序中具有不同的功能 我应该如何实现用户角色?如果这只是一个asp.net应用程序,我只会使用asp.net标识,但不知道如何使用移动服务 我发现一年前有人问了一个类似的问题,但没有解决- 如果存在现有的实施或指导,

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

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

我应该如何实现用户角色?如果这只是一个asp.net应用程序,我只会使用asp.net标识,但不知道如何使用移动服务

我发现一年前有人问了一个类似的问题,但没有解决-


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

从今天起,无论你如何分割,都没有一个超级简单的方法来处理它。您可以看看这篇文章(还有另一篇关于JavaScript后端的文章链接到这里),它讨论了使用Azure Active Directory进行基于角色的访问控制。AAD可能不是您想要的选项。在这种情况下,您需要自己在移动服务中实现角色和检查。如果您只有两个级别,如“普通用户”和“管理员”,则可以根据user.level属性口述所有内容,如果它们经过“身份验证”,则它们仅具有基本的用户访问权限,但如果它们是“管理员”,则它们具有管理员功能。您仍然需要在后端执行基于角色的逻辑,但我认为无论发生什么,您都需要处理这个问题


或者,我认为您可以考虑使用ASP.NET标识系统。然后从您的移动服务中,您可以使用我在这里记录的相同类型的自定义身份验证(),但不必像该示例那样在移动服务中检查和存储用户名/密码,当用户进入注册/登录时,您可以检查ASP.NET标识系统创建的用户后端。我手头没有这项工作的样本,但在我的脑海中听起来是可行的。

我喜欢在Azure网站后面使用asp.net标识的想法,但你是说1吗。使用asp.net标识2创建sql数据库。将该数据库连接到移动服务3。使用自定义api在移动服务中实现自定义身份验证问题:移动服务是否喜欢asp.net标识的模式?对于Facebook、谷歌提供商来说,就角色而言,这将如何发挥作用?同样,在没有实际实施的情况下,很难想清楚这一点,但我可以试一试,并再次向您提出问题:)在开始之前,我会说,我已经有一段时间没有研究ASP.NET身份了。我的想法是:1。创建要与ASP.NET标识一起使用的SQL DB。2.创建移动服务并将其连接到同一数据库。3.从移动应用程序方面,实现一个定制的身份验证流,该流在幕后实际使用ASP.NET的身份。如果您不能直接访问数据库,您应该能够将注册/登录请求传送到您的ASP.NET身份(请记住,如果需要,您的移动服务可以使用MSSQL模块(对于JS和C#对于.NET)与数据库的其他部分进行通信)我不知道你是否真的能够将它与Facebook/Google连接起来,除非ASP.NET identity有这样的功能,然后在上面处理角色。如果不是,而且你想要Facebook/Google,我认为最好的方法是在移动服务中使用内置的auth,然后在移动服务中创建你自己的角色系统。肯定是一点工作,但可行。如果您有任何问题,请继续跟进,并让我知道您是如何让它工作的。请进一步考虑这个问题,我想我可能会决定不使用移动服务。我可以使用Azure MVC网站、Azure SQL Server和Web API来实现这一点,并利用ASP.NET标识及其数据库。我希望有更好的方法在移动服务中利用ASP.NET身份。