我需要建议。我正在为我的应用构建一个Web API,我需要授权使用它的用户。用户可以访问他的数据,但也可以访问其他用户数据。在我的数据库中,我管理用户以及他们有权访问的其他用户(您可能会想到它就像在Facebook中用户可以访问他的个人资料和他的朋友个人资料,但不能访问其他人的个人资料)。
在我的应用中,用户输入用户名和密码,并在设备上加密保存。它们稍后(通过SSL)在每次调用时发送到API - 我所做的是实现基本身份验证。如果有更好的“最佳实践”,请随时提出建议 - 我是新手。
到目前为止它的确有效 - 但问题是像这样工作
我想到的是将请求的URI传递给我的登录方法,然后检查用户尝试访问的用户/资源,然后检查数据库 - 但这似乎是很多工作和很多IF语句
所以在我开始写作之前,我想我会问是否有更好的方法来做到这一点。我有HttpActionContext,我只是不知道如何使用它对我有利。
希望我清楚我的问题。如果没有,请随时要求澄清。
答案 0 :(得分:0)
因此,您可以根据每个API请求发送的凭据来识别用户。可以切换一些基于令牌的流,该用户只进行一次身份验证并获取令牌(行为类似于用户凭据),然后在每个资源请求上将其发送到后端API。然后你可以控制令牌,撤销访问等。你可以做什么样的权限服务,所有资源/对象都附加了权限,然后只是为用户读取/写入这个对象分配所需的持久性。实施可能是一项艰巨的任务。我的意见。