%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.aliyun.com/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 * Thu Jun 08 2023 Python_Bot - 1.5.3-1 - Package Spec generated