aboutsummaryrefslogtreecommitdiffstats
path: root/docs/examples/permissions.rst
diff options
context:
space:
mode:
authorTom Christie2012-10-30 14:32:31 +0000
committerTom Christie2012-10-30 14:32:31 +0000
commit9b30dab4f772f67a626e176dc4fae0a3ef9c2c81 (patch)
treeca138abf4792f58ffa28684f784f201ee1eef6d7 /docs/examples/permissions.rst
parent7e5b1501b5cede61a9391fb1a751d2ebcdb37031 (diff)
parent4e7805cb24d73e7f706318b5e5a27e3f9ba39d14 (diff)
downloaddjango-rest-framework-9b30dab4f772f67a626e176dc4fae0a3ef9c2c81.tar.bz2
Merge branch 'restframework2' into rest-framework-2-merge2.0.0
Conflicts: .gitignore .travis.yml AUTHORS README.rst djangorestframework/mixins.py djangorestframework/renderers.py djangorestframework/resources.py djangorestframework/serializer.py djangorestframework/templates/djangorestframework/base.html djangorestframework/templates/djangorestframework/login.html djangorestframework/templatetags/add_query_param.py djangorestframework/tests/accept.py djangorestframework/tests/authentication.py djangorestframework/tests/content.py djangorestframework/tests/reverse.py djangorestframework/tests/serializer.py djangorestframework/views.py docs/examples.rst docs/examples/blogpost.rst docs/examples/modelviews.rst docs/examples/objectstore.rst docs/examples/permissions.rst docs/examples/pygments.rst docs/examples/views.rst docs/howto/alternativeframeworks.rst docs/howto/mixin.rst docs/howto/reverse.rst docs/howto/usingurllib2.rst docs/index.rst docs/topics/release-notes.md examples/sandbox/views.py rest_framework/__init__.py rest_framework/compat.py rest_framework/utils/breadcrumbs.py setup.py
Diffstat (limited to 'docs/examples/permissions.rst')
-rw-r--r--docs/examples/permissions.rst66
1 files changed, 0 insertions, 66 deletions
diff --git a/docs/examples/permissions.rst b/docs/examples/permissions.rst
deleted file mode 100644
index a806d751..00000000
--- a/docs/examples/permissions.rst
+++ /dev/null
@@ -1,66 +0,0 @@
-Permissions
-===========
-
-This example will show how you can protect your api by using authentication
-and how you can limit the amount of requests a user can do to a resource by setting
-a throttle to your view.
-
-Authentication
---------------
-
-If you want to protect your api from unauthorized users, Django REST Framework
-offers you two default authentication methods:
-
- * Basic Authentication
- * Django's session-based authentication
-
-These authentication methods are by default enabled. But they are not used unless
-you specifically state that your view requires authentication.
-
-To do this you just need to import the `Isauthenticated` class from the frameworks' `permissions` module.::
-
- from djangorestframework.permissions import IsAuthenticated
-
-Then you enable authentication by setting the right 'permission requirement' to the `permissions` class attribute of your View like
-the example View below.:
-
-
-.. literalinclude:: ../../examples/permissionsexample/views.py
- :pyobject: LoggedInExampleView
-
-The `IsAuthenticated` permission will only let a user do a 'GET' if he is authenticated. Try it
-yourself on the live sandbox__
-
-__ http://shielded-mountain-6732.herokuapp.com/permissions-example/loggedin
-
-
-Throttling
-----------
-
-If you want to limit the amount of requests a client is allowed to do on
-a resource, then you can set a 'throttle' to achieve this.
-
-For this to work you'll need to import the `PerUserThrottling` class from the `permissions`
-module.::
-
- from djangorestframework.permissions import PerUserThrottling
-
-In the example below we have limited the amount of requests one 'client' or 'user'
-may do on our view to 10 requests per minute.:
-
-.. literalinclude:: ../../examples/permissionsexample/views.py
- :pyobject: ThrottlingExampleView
-
-Try it yourself on the live sandbox__.
-
-__ http://shielded-mountain-6732.herokuapp.com/permissions-example/throttling
-
-Now if you want a view to require both aurhentication and throttling, you simply declare them
-both::
-
- permissions = (PerUserThrottling, Isauthenticated)
-
-To see what other throttles are available, have a look at the :mod:`permissions` module.
-
-If you want to implement your own authentication method, then refer to the :mod:`authentication`
-module.