api - RESTful secure resources by user -


i building springboot restful api oauth2 security component.

i wondering how protect resources, thinking more business logic. example, if have list of courses /rest/v1/courses, , courses have supervisor , suppose logged role_supervisor (no admin access) , make call /rest/v1/courses , business logic can see courses supervisor.

1) should make /rest/v1/courses?supervisor_id=2. classic filter, ok if admin, logged in, see other data if trace url , change id.

2) should make /rest/v1/courses , supervisor_id successful login? have check every request against login data. think more secure approach, it's sound little tedious, , forget perform security checks in controller method.

3) maybe there more generic solution , couldn't find or think?

thank you, , sorry english.

restful apis stateless. therefore every request must validate request's credentials, either token or checking oauth service. if supervisor_id linked credentials (e.g. token value xyz implies supervisor_id = 2), , id determines access, adding request parameters unnecessary. validating parameter against credentials anyway.

now if "supervisor 2" can request information regarding "supervisor 1", yes, want id request parameter. still need check credentials know "supervisor 2" making request , validate allowed query.

so have check every request against login data. think more secure approach, it's sound little tedious, , forget perform security checks in controller method.

basically identifying requestor should part of authentication mechanism, separate specific api business logic. you'll find in many frameworks workflow processes authentication before url routing. includes providing controllers user information.


Comments

Popular posts from this blog

java - Suppress Jboss version details from HTTP error response -

gridview - Yii2 DataPorivider $totalSum for a column -

Sass watch command compiles .scss files before full sftp upload -