我正在尝试了解如何在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
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
这不是一个真正的答案,但评论也太长了,我认为这非常重要。
首先,当使用Windows Azure Mobile Services中的身份验证时,您未使用 Windows Azure Access Control Service。因此,没有Active Directory,当使用移动服务时没有(附加)声明。这必须非常清楚,因为我看到了持续的误解和混乱。 @Joey仍然要求,并将ACS作为他的应用程序的联合提供者,如果他依赖于移动服务认证机制,不是的情况。
因此,角色分配必须完全由您的应用程序逻辑处理,并使用Jim描述的附加表。
然而,角色分配一般是有趣的主题,并且实际上不是任何教程或文档的一部分。并且它不属于此类,因为角色分配是应用程序本身的业务逻辑的一部分,而不是身份验证服务的一部分。有一个非常相似的问题here,然而它再次没有详细回答如何分配角色。要解决的基础和主要问题是:How to assign administrator role
。其他所有内容都可以通过为应用程序管理员添加适当的UI来解决。不过,这个问题不是简短的答案。