我一直在研究Azure移动应用程序服务,但我吓坏了,因为我认为我全都错了。
我有一个Azure移动应用程序服务,问题是我正在尝试为其实现“自定义”身份验证(自定义身份验证的原因是我有一个Web应用程序和Web API,它们使用相同的数据库并将REST请求发送到移动服务应用程序来更新数据库,并且两者都使用asp.net身份)
但是在我在移动应用服务中实现自定义身份验证之前,即使身份验证是自定义的,但我还是无法理解,我正在手动检查用户,一旦生成令牌并授权了用户,用户就可以访问表中的所有数据。因此,如果我是user1并登录,移动应用程序服务将对我进行身份验证,一旦获得身份验证令牌,我就可以简单地执行REST请求以对所有数据执行任何操作。
如何限制所生成的令牌仅用于仅将该用户的数据用于CRID,在我的表中我也具有UserId列。
我很困惑。任何帮助将不胜感激。
答案 0 :(得分:1)
如何限制生成的令牌仅用于CRID仅用于该用户的数据,在我的表中我也具有UserId列。
据我了解,您可以遵循Per-User Data并利用以下属性从传入的Easy Auth令牌中检索当前的UserID:
public string UserId
{
get
{
var principal = this.User as ClaimsPrincipal;
return principal.FindFirst(ClaimTypes.NameIdentifier).Value;
}
}
要获得有关处理CURD操作(需要仅限于生成令牌的用户)的完整教程,请遵循Data Projection and Queries。