向Azure(ACS)中的MobileServices添加角色

时间:2013-04-11 16:28:51

标签: c# .net authentication azure role-base-authorization

我正在尝试了解如何在ACS中执行角色。我有一个Windows应用商店应用不是一个网站:-),我需要管理员成员角色 - 但是对于这样的事情来说,找到甚至非常基本的文档或教程对我来说非常困难。

我发现的所有内容都是对ASP.NET或Azure网站的一些引用 - 我不能使用它,因为Store应用程序不是网站 - 并且不使用ASP.NET。

我的Windows应用商店应用了Azure移动服务。是否有任何您知道的信息可以提供帮助?

我很惊讶,Azure网站上的示例/参考/教程部分似乎没有涵盖角色(除非我多次错过它)。

以此方案为例。在此处,在管理门户的“脚本”选项卡中,我将一些文本插入与当前登录用户关联的表中(通过insert功能):

var SendGrid = require('sendgrid').SendGrid;

function insert(item, user, request) {
        item.userId = user.userId;
        request.execute(
            {
                success: function() {
                    request.respond();

                    // Send email in the background.
                    sendEmail(item);
                }
            }
        );
}

上面的代码会在表格中插入一些文字,然后向该用户发送一封电子邮件。但是,我怎么能调整这个代码,以便它(伪代码):

if item.text == "administrator"
   then insert userid into admin column
else
   then insert userid into member column

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

这不是一个真正的答案,但评论也太长了,我认为这非常重要。

首先,当使用Windows Azure Mobile Services中的身份验证时,您未使用 Windows Azure Access Control Service。因此,没有Active Directory,当使用移动服务时没有(附加)声明。这必须非常清楚,因为我看到了持续的误解和混乱。 @Joey仍然要求,并将ACS作为他的应用程序的联合提供者,如果他依赖于移动服务认证机制,不是的情况。

因此,角色分配必须完全由您的应用程序逻辑处理,并使用Jim描述的附加表。

然而,角色分配一般是有趣的主题,并且实际上不是任何教程或文档的一部分。并且它不属于此类,因为角色分配是应用程序本身的业务逻辑的一部分,而不是身份验证服务的一部分。有一个非常相似的问题here,然而它再次没有详细回答如何分配角色。要解决的基础和主要问题是:How to assign administrator role。其他所有内容都可以通过为应用程序管理员添加适当的UI来解决。不过,这个问题不是简短的答案。