我们正在开发两个移动应用程序,一个(A)用于一组人,另一个(B)用于另一组人。
这两个移动应用程序使用相同的Web API集,但有些API可能只使用一个组,反之亦然。换句话说,我们只有一个Web API项目。
两个应用程序的用户都需要注册并(稍后)使用用户名和密码登录。我们将所有用户保存在同一个AspNetUsers表中。
现在我意识到存在问题。在应用A上注册的用户可以在应用B上登录,在应用B上注册的用户可以在应用A上登录。
我该如何解决这个问题?我们是否要求应用程序向我们的API发送代码,以便我们的API知道它是来自A还是B?
谢谢!
答案 0 :(得分:0)
Asp.net会员拥有用户角色,您可以将authorize用户用于api的某些部分。
public class FooController : ApiController
{
[Authorize(Roles = "GroupA")]
public void GetOnlyForGroupA(){}
[Authorize(Roles = "GroupB")]
public void GetOnlyForGroupB(){}
public void GetForBoth(){}
}