diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 06:14:36 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 06:14:36 +0000 |
| commit | d37a08564b4a276aaac4bf40b641a32a0064e7bd (patch) | |
| tree | a5a32e0213bb11c5d8bac9d6118b625a3278f399 | |
| parent | 39e1f3ccb0aed18cd7c8802e329cf0811aa59f4d (diff) | |
automatic import of python-django-cas-client
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-django-cas-client.spec | 564 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 566 insertions, 0 deletions
@@ -0,0 +1 @@ +/django-cas-client-1.5.3.tar.gz diff --git a/python-django-cas-client.spec b/python-django-cas-client.spec new file mode 100644 index 0000000..db5c74a --- /dev/null +++ b/python-django-cas-client.spec @@ -0,0 +1,564 @@ +%global _empty_manifest_terminate_build 0 +Name: python-django-cas-client +Version: 1.5.3 +Release: 1 +Summary: Django Cas Client +License: MIT +URL: http://github.com/kstateome/django-cas/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/0e/e3/bbb58ae5caf7ac59db4961c57ff5b0039c69708ca3d43ef6b41833cb3c7b/django-cas-client-1.5.3.tar.gz +BuildArch: noarch + + +%description +# django-cas + +CAS client for Django. This library requires Django 1.5 or above, and Python 2.6, 2.7, 3.4 + +Current version: 1.5.3 + +This is [K-State's fork](https://github.com/kstateome/django-cas) of [the original](https://bitbucket.org/cpcc/django-cas/overview) and includes [several additional features](https://github.com/kstateome/django-cas/#additional-features) as well as features merged from + +* [KTHse's django-cas2](https://github.com/KTHse/django-cas2). +* [Edmund Crewe's proxy ticket patch](http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch). + + +## Install + +This project is registered on PyPi as django-cas-client. To install:: + + pip install django-cas-client==1.5.3 + + +### Add to URLs + +Add the login and logout patterns to your main URLS conf. + + import cas.views + + ... + + # CAS + path('admin/login/', cas.views.login, name='login'), + path('admin/logout/', cas.views.logout, name='logout'), + +### Add middleware and settings + +Set your CAS server URL + + CAS_SERVER_URL = "https://signin.somehwere/cas/" + +Add cas to middleware classes + + 'cas.middleware.CASMiddleware', + + +### Add authentication backends + + AUTHENTICATION_BACKENDS = ( + 'django.contrib.auth.backends.ModelBackend', + 'cas.backends.CASBackend', + ) + +## How to Contribute + +Fork and branch off of the ``develop`` branch. Submit Pull requests back to ``kstateome:develop``. + +### Run The Tests + +All PRs must pass unit tests. To run the tests locally: + + pip install -r requirements-dev.txt + python run_tests.py + + +## Settings.py for CAS + +Add the following to middleware if you want to use CAS:: + + MIDDLEWARE_CLASSES = ( + 'cas.middleware.CASMiddleware', + ) + + +Add these to ``settings.py`` to use the CAS Backend:: + + + CAS_SERVER_URL = "Your Cas Server" + CAS_LOGOUT_COMPLETELY = True + CAS_PROVIDE_URL_TO_LOGOUT = True + +# Additional Features + +This fork contains additional features not found in the original: +* Proxied Hosts +* CAS Response Callbacks +* CAS Gateway +* Proxy Tickets (From Edmund Crewe) + +## Proxied Hosts + +You will need to setup middleware to handle the use of proxies. + +Add a setting ``PROXY_DOMAIN`` of the domain you want the client to use. Then add + + MIDDLEWARE_CLASSES = ( + 'cas.middleware.ProxyMiddleware', + ) + +This middleware needs to be added before the django ``common`` middleware. + + +## CAS Response Callbacks + +To store data from CAS, create a callback function that accepts the ElementTree object from the +proxyValidate response. There can be multiple callbacks, and they can live anywhere. Define the +callback(s) in ``settings.py``: + + CAS_RESPONSE_CALLBACKS = ( + 'path.to.module.callbackfunction', + 'anotherpath.to.module.callbackfunction2', + ) + +and create the functions in ``path/to/module.py``: + + def callbackfunction(tree): + username = tree[0][0].text + + user, user_created = User.objects.get_or_create(username=username) + profile, created = user.get_profile() + + profile.email = tree[0][1].text + profile.position = tree[0][2].text + profile.save() + + +## CAS Gateway + +To use the CAS Gateway feature, first enable it in settings. Trying to use it without explicitly +enabling this setting will raise an ImproperlyConfigured: + + CAS_GATEWAY = True + +Then, add the ``gateway`` decorator to a view: + + from cas.decorators import gateway + + @gateway() + def foo(request): + #stuff + return render(request, 'foo/bar.html') + + +## Custom Forbidden Page + +To show a custom forbidden page, set ``CAS_CUSTOM_FORBIDDEN`` to a ``path.to.some_view``. Otherwise, +a generic ``HttpResponseForbidden`` will be returned. + +## Require SSL Login + +To force the service url to always target HTTPS, set ``CAS_FORCE_SSL_SERVICE_URL`` to ``True``. + +## Automatically Create Users on First Login + +By default, a stub user record will be created on the first successful CAS authentication +using the username in the response. If this behavior is not desired set +``CAS_AUTO_CREATE_USER`` to ``False``. + +## Proxy Tickets + +This fork also includes +[Edmund Crewe's proxy ticket patch](http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch). + +You can opt out of the time delay sometimes caused by proxy ticket validation by setting: + + CAS_PGT_FETCH_WAIT = False + + + + +%package -n python3-django-cas-client +Summary: Django Cas Client +Provides: python-django-cas-client +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-django-cas-client +# django-cas + +CAS client for Django. This library requires Django 1.5 or above, and Python 2.6, 2.7, 3.4 + +Current version: 1.5.3 + +This is [K-State's fork](https://github.com/kstateome/django-cas) of [the original](https://bitbucket.org/cpcc/django-cas/overview) and includes [several additional features](https://github.com/kstateome/django-cas/#additional-features) as well as features merged from + +* [KTHse's django-cas2](https://github.com/KTHse/django-cas2). +* [Edmund Crewe's proxy ticket patch](http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch). + + +## Install + +This project is registered on PyPi as django-cas-client. To install:: + + pip install django-cas-client==1.5.3 + + +### Add to URLs + +Add the login and logout patterns to your main URLS conf. + + import cas.views + + ... + + # CAS + path('admin/login/', cas.views.login, name='login'), + path('admin/logout/', cas.views.logout, name='logout'), + +### Add middleware and settings + +Set your CAS server URL + + CAS_SERVER_URL = "https://signin.somehwere/cas/" + +Add cas to middleware classes + + 'cas.middleware.CASMiddleware', + + +### Add authentication backends + + AUTHENTICATION_BACKENDS = ( + 'django.contrib.auth.backends.ModelBackend', + 'cas.backends.CASBackend', + ) + +## How to Contribute + +Fork and branch off of the ``develop`` branch. Submit Pull requests back to ``kstateome:develop``. + +### Run The Tests + +All PRs must pass unit tests. To run the tests locally: + + pip install -r requirements-dev.txt + python run_tests.py + + +## Settings.py for CAS + +Add the following to middleware if you want to use CAS:: + + MIDDLEWARE_CLASSES = ( + 'cas.middleware.CASMiddleware', + ) + + +Add these to ``settings.py`` to use the CAS Backend:: + + + CAS_SERVER_URL = "Your Cas Server" + CAS_LOGOUT_COMPLETELY = True + CAS_PROVIDE_URL_TO_LOGOUT = True + +# Additional Features + +This fork contains additional features not found in the original: +* Proxied Hosts +* CAS Response Callbacks +* CAS Gateway +* Proxy Tickets (From Edmund Crewe) + +## Proxied Hosts + +You will need to setup middleware to handle the use of proxies. + +Add a setting ``PROXY_DOMAIN`` of the domain you want the client to use. Then add + + MIDDLEWARE_CLASSES = ( + 'cas.middleware.ProxyMiddleware', + ) + +This middleware needs to be added before the django ``common`` middleware. + + +## CAS Response Callbacks + +To store data from CAS, create a callback function that accepts the ElementTree object from the +proxyValidate response. There can be multiple callbacks, and they can live anywhere. Define the +callback(s) in ``settings.py``: + + CAS_RESPONSE_CALLBACKS = ( + 'path.to.module.callbackfunction', + 'anotherpath.to.module.callbackfunction2', + ) + +and create the functions in ``path/to/module.py``: + + def callbackfunction(tree): + username = tree[0][0].text + + user, user_created = User.objects.get_or_create(username=username) + profile, created = user.get_profile() + + profile.email = tree[0][1].text + profile.position = tree[0][2].text + profile.save() + + +## CAS Gateway + +To use the CAS Gateway feature, first enable it in settings. Trying to use it without explicitly +enabling this setting will raise an ImproperlyConfigured: + + CAS_GATEWAY = True + +Then, add the ``gateway`` decorator to a view: + + from cas.decorators import gateway + + @gateway() + def foo(request): + #stuff + return render(request, 'foo/bar.html') + + +## Custom Forbidden Page + +To show a custom forbidden page, set ``CAS_CUSTOM_FORBIDDEN`` to a ``path.to.some_view``. Otherwise, +a generic ``HttpResponseForbidden`` will be returned. + +## Require SSL Login + +To force the service url to always target HTTPS, set ``CAS_FORCE_SSL_SERVICE_URL`` to ``True``. + +## Automatically Create Users on First Login + +By default, a stub user record will be created on the first successful CAS authentication +using the username in the response. If this behavior is not desired set +``CAS_AUTO_CREATE_USER`` to ``False``. + +## Proxy Tickets + +This fork also includes +[Edmund Crewe's proxy ticket patch](http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch). + +You can opt out of the time delay sometimes caused by proxy ticket validation by setting: + + CAS_PGT_FETCH_WAIT = False + + + + +%package help +Summary: Development documents and examples for django-cas-client +Provides: python3-django-cas-client-doc +%description help +# django-cas + +CAS client for Django. This library requires Django 1.5 or above, and Python 2.6, 2.7, 3.4 + +Current version: 1.5.3 + +This is [K-State's fork](https://github.com/kstateome/django-cas) of [the original](https://bitbucket.org/cpcc/django-cas/overview) and includes [several additional features](https://github.com/kstateome/django-cas/#additional-features) as well as features merged from + +* [KTHse's django-cas2](https://github.com/KTHse/django-cas2). +* [Edmund Crewe's proxy ticket patch](http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch). + + +## Install + +This project is registered on PyPi as django-cas-client. To install:: + + pip install django-cas-client==1.5.3 + + +### Add to URLs + +Add the login and logout patterns to your main URLS conf. + + import cas.views + + ... + + # CAS + path('admin/login/', cas.views.login, name='login'), + path('admin/logout/', cas.views.logout, name='logout'), + +### Add middleware and settings + +Set your CAS server URL + + CAS_SERVER_URL = "https://signin.somehwere/cas/" + +Add cas to middleware classes + + 'cas.middleware.CASMiddleware', + + +### Add authentication backends + + AUTHENTICATION_BACKENDS = ( + 'django.contrib.auth.backends.ModelBackend', + 'cas.backends.CASBackend', + ) + +## How to Contribute + +Fork and branch off of the ``develop`` branch. Submit Pull requests back to ``kstateome:develop``. + +### Run The Tests + +All PRs must pass unit tests. To run the tests locally: + + pip install -r requirements-dev.txt + python run_tests.py + + +## Settings.py for CAS + +Add the following to middleware if you want to use CAS:: + + MIDDLEWARE_CLASSES = ( + 'cas.middleware.CASMiddleware', + ) + + +Add these to ``settings.py`` to use the CAS Backend:: + + + CAS_SERVER_URL = "Your Cas Server" + CAS_LOGOUT_COMPLETELY = True + CAS_PROVIDE_URL_TO_LOGOUT = True + +# Additional Features + +This fork contains additional features not found in the original: +* Proxied Hosts +* CAS Response Callbacks +* CAS Gateway +* Proxy Tickets (From Edmund Crewe) + +## Proxied Hosts + +You will need to setup middleware to handle the use of proxies. + +Add a setting ``PROXY_DOMAIN`` of the domain you want the client to use. Then add + + MIDDLEWARE_CLASSES = ( + 'cas.middleware.ProxyMiddleware', + ) + +This middleware needs to be added before the django ``common`` middleware. + + +## CAS Response Callbacks + +To store data from CAS, create a callback function that accepts the ElementTree object from the +proxyValidate response. There can be multiple callbacks, and they can live anywhere. Define the +callback(s) in ``settings.py``: + + CAS_RESPONSE_CALLBACKS = ( + 'path.to.module.callbackfunction', + 'anotherpath.to.module.callbackfunction2', + ) + +and create the functions in ``path/to/module.py``: + + def callbackfunction(tree): + username = tree[0][0].text + + user, user_created = User.objects.get_or_create(username=username) + profile, created = user.get_profile() + + profile.email = tree[0][1].text + profile.position = tree[0][2].text + profile.save() + + +## CAS Gateway + +To use the CAS Gateway feature, first enable it in settings. Trying to use it without explicitly +enabling this setting will raise an ImproperlyConfigured: + + CAS_GATEWAY = True + +Then, add the ``gateway`` decorator to a view: + + from cas.decorators import gateway + + @gateway() + def foo(request): + #stuff + return render(request, 'foo/bar.html') + + +## Custom Forbidden Page + +To show a custom forbidden page, set ``CAS_CUSTOM_FORBIDDEN`` to a ``path.to.some_view``. Otherwise, +a generic ``HttpResponseForbidden`` will be returned. + +## Require SSL Login + +To force the service url to always target HTTPS, set ``CAS_FORCE_SSL_SERVICE_URL`` to ``True``. + +## Automatically Create Users on First Login + +By default, a stub user record will be created on the first successful CAS authentication +using the username in the response. If this behavior is not desired set +``CAS_AUTO_CREATE_USER`` to ``False``. + +## Proxy Tickets + +This fork also includes +[Edmund Crewe's proxy ticket patch](http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch). + +You can opt out of the time delay sometimes caused by proxy ticket validation by setting: + + CAS_PGT_FETCH_WAIT = False + + + + +%prep +%autosetup -n django-cas-client-1.5.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-django-cas-client -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.5.3-1 +- Package Spec generated @@ -0,0 +1 @@ +f87b287a40744125149037fbb16fe03e django-cas-client-1.5.3.tar.gz |
