Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
django-cas-server
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Samir
django-cas-server
Commits
0dba0d17
Commit
0dba0d17
authored
Jun 20, 2016
by
Valentin Samir
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Style and federated doc about the manage command cas_clean_federate
parent
2b02568e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
3 deletions
+14
-3
README.rst
README.rst
+11
-2
cas_server/management/commands/cas_clean_federate.py
cas_server/management/commands/cas_clean_federate.py
+3
-1
No files found.
README.rst
View file @
0dba0d17
...
...
@@ -286,7 +286,7 @@ Federation mode
``django-cas-server`` comes with a federation mode. Then ``CAS_FEDERATE`` is ``True``,
user are invited to choose an identity provider on the login page, then, they are redirected
to the provider CAS to authenticate. This provider transmit to ``django-cas-server`` the user
username and attributes. The user is now logged in on ``django-cas-server`` and can use
r
username and attributes. The user is now logged in on ``django-cas-server`` and can use
services using ``django-cas-server`` as CAS.
The list of allowed identity providers is defined using the ``CAS_FEDERATE_PROVIDERS`` parameter.
...
...
@@ -306,4 +306,13 @@ For instance:
In federation mode, ``django-cas-server`` build user's username as follow:
``provider_returned_username@provider_name``.
You can choose the provider returned username for ``django-cas-server`` and the provider name
in order than to builed username make sense.
in order to make sense.
Then using federate mode, you should add one command to a daily crontab: ``cas_clean_federate``.
This command clean the local cache of federated user from old unused users.
You could for example do as bellow :
.. code-block::
10 0 * * * cas-user /path/to/project/manage.py cas_clean_federate
cas_server/management/commands/cas_clean_federate.py
View file @
0dba0d17
...
...
@@ -13,7 +13,9 @@ class Command(BaseCommand):
help
=
_
(
u"Clean old federated users"
)
def
handle
(
self
,
*
args
,
**
options
):
federated_users
=
models
.
FederatedUser
.
objects
.
filter
(
last_update__lt
=
(
timezone
.
now
()
-
timedelta
(
seconds
=
settings
.
CAS_TICKET_TIMEOUT
)))
federated_users
=
models
.
FederatedUser
.
objects
.
filter
(
last_update__lt
=
(
timezone
.
now
()
-
timedelta
(
seconds
=
settings
.
CAS_TICKET_TIMEOUT
))
)
for
user
in
federated_users
:
if
not
models
.
User
.
objects
.
filter
(
username
=
'
%
s@
%
s'
%
(
user
.
username
,
user
.
provider
)):
user
.
delete
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment