aboutsummaryrefslogtreecommitdiffstats
path: root/docs/api-guide/permissions.md
diff options
context:
space:
mode:
authorMichael Elovskikh2013-01-28 16:26:16 +0600
committerMichael Elovskikh2013-01-28 16:26:16 +0600
commit499d6424aee5b71b8e6b2500bf14fa85321bfc26 (patch)
tree34f575fb078377208ded5251aea050668355d82a /docs/api-guide/permissions.md
parent180c94dc44a9cc5b882364a58b0b12a8ab430c22 (diff)
parent3bcd38b7d0ddaa2c051ad230cb0d749f9737fd82 (diff)
downloaddjango-rest-framework-499d6424aee5b71b8e6b2500bf14fa85321bfc26.tar.bz2
Merge branch 'upstream_master' into docs_patch_method
Conflicts: docs/api-guide/authentication.md
Diffstat (limited to 'docs/api-guide/permissions.md')
-rw-r--r--docs/api-guide/permissions.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/docs/api-guide/permissions.md b/docs/api-guide/permissions.md
index fce68f6d..1814b811 100644
--- a/docs/api-guide/permissions.md
+++ b/docs/api-guide/permissions.md
@@ -110,6 +110,15 @@ To implement a custom permission, override `BasePermission` and implement the `.
The method should return `True` if the request should be granted access, and `False` otherwise.
+## Example
+
+The following is an example of a permission class that checks the incoming request's IP address against a blacklist, and denies the request if the IP has been blacklisted.
+
+ class BlacklistPermission(permissions.BasePermission):
+ def has_permission(self, request, view, obj=None):
+ ip_addr = request.META['REMOTE_ADDR']
+ blacklisted = Blacklist.objects.filter(ip_addr=ip_addr).exists()
+ return not blacklisted
[cite]: https://developer.apple.com/library/mac/#documentation/security/Conceptual/AuthenticationAndAuthorizationGuide/Authorization/Authorization.html
[authentication]: authentication.md