Java 如何在创建RESTAPI时防止未经授权的访问?

Java 如何在创建RESTAPI时防止未经授权的访问?,java,rest,api,security,get,Java,Rest,Api,Security,Get,如果我的API允许以下GET请求: 它将返回与由数字12唯一标识的项目相关的信息。假设用户有权查看第12项,但没有任何东西可以阻止他们使用第13、27、11项等随机GET请求,这些请求可能返回不属于他们的数据。有没有办法阻止他们通过GET或POST请求访问不属于他们的数据?我知道我可以让每个请求附带一些与用户相关的独特信息(即用户名),并与数据库交叉检查,以查看用户是否确实有权在发送数据之前查看项目,但这似乎效率低下。正确的方法是什么?这似乎效率低下-这似乎正是您需要做的事情。您需要的是身份验

如果我的API允许以下GET请求:

它将返回与由数字12唯一标识的项目相关的信息。假设用户有权查看第12项,但没有任何东西可以阻止他们使用第13、27、11项等随机GET请求,这些请求可能返回不属于他们的数据。有没有办法阻止他们通过GET或POST请求访问不属于他们的数据?我知道我可以让每个请求附带一些与用户相关的独特信息(即用户名),并与数据库交叉检查,以查看用户是否确实有权在发送数据之前查看项目,但这似乎效率低下。正确的方法是什么?

这似乎效率低下-这似乎正是您需要做的事情。您需要的是身份验证,它只能使用基于用户的身份验证来实现,并且您可以在内部检查权限,或者使用API密钥来代替使用用户对象。所以你说的不是“低效”,而是大多数API中使用的。可能是重复的。另请参见,OWASP等。这似乎效率低下-这似乎正是您需要做的事情。您需要的是身份验证,它只能通过基于用户的身份验证来实现,并且您可以在内部检查权限,或者使用API密钥来代替使用用户对象。所以你说的不是“低效”,而是大多数API中使用的。可能是重复的。另请参见,OWASP等。