403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/django/contrib/auth/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/django/contrib/auth/__pycache__/backends.cpython-311.pyc
�

�|�e�!����ddlmZddlmZddlmZmZmZe��ZGd�d��Z	Gd�de	��Z
Gd�d	e
��ZGd
�de
��ZGd�d
e��Z
dS)�)�get_user_model)�
Permission)�Exists�OuterRef�Qc�:�eZdZd�Zd�Zdd�Zdd�Zdd�Zdd�ZdS)	�BaseBackendc��dS�N�)�self�request�kwargss   �>/usr/lib/python3/dist-packages/django/contrib/auth/backends.py�authenticatezBaseBackend.authenticate	����t�c��dSrr)r
�user_ids  r�get_userzBaseBackend.get_userrrNc��t��Sr��set�r
�user_obj�objs   r�get_user_permissionsz BaseBackend.get_user_permissions����u�u�rc��t��Srrrs   r�get_group_permissionsz!BaseBackend.get_group_permissionsrrc�b�h|�||����|�||����S�N)r)rr rs   r�get_all_permissionszBaseBackend.get_all_permissionssB��
�
�
&�
&�x�S�
&�
9�
9�
�
�
'�
'��c�
'�
:�
:�
�	
rc�4�||�||���vSr")r#)r
r�permrs    r�has_permzBaseBackend.has_perms ���t�/�/��c�/�B�B�B�Brr)	�__name__�
__module__�__qualname__rrrr r#r&rrrr	r	s���������������������
�
�
�
�C�C�C�C�C�Crr	c�t��eZdZdZdd�Zd�Zd�Zd�Zd�Zdd�Z	dd	�Z
d�fd
�	Zd�fd�	Zd�Z
dd�Zd�Z�xZS)�ModelBackendz9
    Authenticates against settings.AUTH_USER_MODEL.
    Nc�^�|�|�tj��}|�|�dS	tj�|��}|�|��r|�|��r|SdSdS#tj$r%t���|��YdSwxYwr)	�get�	UserModel�USERNAME_FIELD�_default_manager�get_by_natural_key�check_password�user_can_authenticate�DoesNotExist�set_password)r
r�username�passwordr�users      rrzModelBackend.authenticate$s������z�z�)�":�;�;�H���x�/��F�	��-�@�@��J�J�D��"�"�8�,�,�
��1K�1K�D�1Q�1Q�
���
�
�
�
���%�	/�	/�	/�
�K�K�$�$�X�.�.�.�.�.�.�	/���s�A8�80B,�+B,c�0�t|dd��}|p|duS)z{
        Reject users with is_active=False. Custom user models that don't have
        that attribute are allowed.
        �	is_activeN)�getattr)r
r8r:s   rr3z"ModelBackend.user_can_authenticate3s%��
�D�+�t�4�4�	��-�I��-�-rc�4�|j���Sr)�user_permissions�all)r
rs  r�_get_user_permissionsz"ModelBackend._get_user_permissions;s���(�,�,�.�.�.rc��t��j�d��}d|���z}t	jjdi||i��S)N�groupsz	group__%sr)r�_meta�	get_field�related_query_namer�objects�filter)r
r�user_groups_field�user_groups_querys    r�_get_group_permissionsz#ModelBackend._get_group_permissions>sW��*�,�,�2�<�<�X�F�F��'�*;�*N�*N�*P�*P�P���!�(�I�I�,=�x�+H�I�I�Irc��|jr	|js|�t��Sd|z}t||��s�|jrt
j���}nt|d|z��|��}|�	dd���
��}t||d�|D����t||��S)z�
        Return the permissions of `user_obj` from `from_name`. `from_name` can
        be either "group" or "user" to return permissions from
        `_get_group_permissions` or `_get_user_permissions` respectively.
        Nz_%s_perm_cachez_get_%s_permissions�content_type__app_label�codenamec�"�h|]\}}|�d|����
S)�.r)�.0�ct�names   r�	<setcomp>z0ModelBackend._get_permissions.<locals>.<setcomp>Ss'��/[�/[�/[���T�2�2�2�t�t�0D�/[�/[�/[r)r:�is_anonymousr�hasattr�is_superuserrrEr>r;�values_list�order_by�setattr)r
rr�	from_name�perm_cache_name�permss      r�_get_permissionszModelBackend._get_permissionsCs����!�	�X�%:�	�c�o��5�5�L�*�Y�6���x��1�1�	]��$�
S�"�*�.�.�0�0���H���&;�i�&G�H�H��R�R���%�%�&?��L�L�U�U�W�W�E��H�o�/[�/[�UZ�/[�/[�/[�\�\�\��x��1�1�1rc�0�|�||d��S)zs
        Return a set of permission strings the user `user_obj` has from their
        `user_permissions`.
        r8�r\rs   rrz!ModelBackend.get_user_permissionsVs��
�$�$�X�s�F�;�;�;rc�0�|�||d��S)zq
        Return a set of permission strings the user `user_obj` has from the
        groups they belong.
        �groupr^rs   rr z"ModelBackend.get_group_permissions]s��
�$�$�X�s�G�<�<�<rc���|jr	|js|�t��St|d��s&t	���|��|_|jS)N�_perm_cache)r:rSrrT�superr#rb)r
rr�	__class__s   �rr#z ModelBackend.get_all_permissionsds[����!�	�X�%:�	�c�o��5�5�L��x��/�/�	I�#(�7�7�#>�#>�x�#H�#H�H� ��#�#rc�Z��|jo#t���|||���Sr")r:rcr&)r
rr%rrds    �rr&zModelBackend.has_permks*����!�O�e�g�g�&6�&6�x��3�&6�&O�&O�Orc�n��|jo-t�fd�|�|��D����S)zU
        Return True if user_obj has any permissions in the given app_label.
        c3�Z�K�|]%}|d|�d����kV��&dS)NrN)�index)rOr%�	app_labels  �r�	<genexpr>z0ModelBackend.has_module_perms.<locals>.<genexpr>rsQ�����*
�*
��
�!�$�*�*�S�/�/�!�"�i�/�*
�*
�*
�*
�*
�*
r)r:�anyr#)r
rris  `r�has_module_permszModelBackend.has_module_permsnsU����!�
�c�*
�*
�*
�*
��0�0��:�:�*
�*
�*
�'
�'
�	
rTc��t|t��r7	|�d��\}}nA#t$rtd���wxYwt|t��std���t
��}|�|j���Sttd�����ttd�����z}t|t��r|t|j���z}n|t||�	��z}ttj
�|����}	|r|	td
���z}	|�|	t|���z}	|j�|	��S)
z�
        Return users that have permission "perm". By default, filter out
        inactive users and include superusers.
        rNzDPermission name should be in the form app_label.permission_codename.z>The `perm` argument must be a string or a permission instance.N�pk)�group__user)r8�rn)rLrKT)rU)r:)�
isinstance�str�split�
ValueErrorr�	TypeErrorrr0�nonerrrnrrErF)
r
r%r:�include_superusersrrirLr.�permission_q�user_qs
          r�	with_permzModelBackend.with_permws���
�d�C� � �	�
�&*�j�j��o�o�#�	�8�8���
�
�
� �5����
����
�D�*�-�-�	��P���
�#�$�$�	��?��-�2�2�4�4�4��X�d�^�^�4�4�4�q�h�t�n�n�7M�7M�7M�M���d�J�'�'�	T��A���M�M�M�)�L�L��A�x��S�S�S�S�L��
�*�1�1�,�?�?�@�@���	+��a�T�*�*�*�*�F�� ��a�)�,�,�,�,�F��)�0�0��8�8�8s	�0�A
c��	tj�|���}n#tj$rYdSwxYw|�|��r|ndS)Nrp)r.r0r-r4r3)r
rr8s   rrzModelBackend.get_user�sd��	��-�1�1�W�1�=�=�D�D���%�	�	�	��4�4�	�����1�1�$�7�7�A�t�t�T�As� #�6�6)NNr)TTN)r'r(r)�__doc__rr3r?rIr\rr r#r&rlrzr�
__classcell__)rds@rr+r+s ���������
�
�
�
�.�.�.�/�/�/�J�J�J�
2�2�2�&<�<�<�<�=�=�=�=�$�$�$�$�$�$�P�P�P�P�P�P�
�
�
�"9�"9�"9�"9�HB�B�B�B�B�B�Brr+c��eZdZd�ZdS)�AllowAllUsersModelBackendc��dS�NTr�r
r8s  rr3z/AllowAllUsersModelBackend.user_can_authenticate�rrN�r'r(r)r3rrrrr��#����������rrc�(�eZdZdZdZd�Zd�Zd�ZdS)�RemoteUserBackenda�
    This backend is to be used in conjunction with the ``RemoteUserMiddleware``
    found in the middleware module of this package, and is used when the server
    is handling authentication outside of Django.

    By default, the ``authenticate`` method creates ``User`` objects for
    usernames that don't already exist in the database.  Subclasses can disable
    this behavior by setting the ``create_unknown_user`` attribute to
    ``False``.
    Tc�`�|sdSd}|�|��}|jr>tjjditj|i��\}}|r|�||��}n6	tj�|��}n#tj$rYnwxYw|�	|��r|ndS)ai
        The username passed as ``remote_user`` is considered trusted. Return
        the ``User`` object with the given username. Create a new ``User``
        object if ``create_unknown_user`` is ``True``.

        Return None if ``create_unknown_user`` is ``False`` and a ``User``
        object with the given username is not found in the database.
        Nr)
�clean_username�create_unknown_userr.r0�
get_or_creater/�configure_userr1r4r3)r
r�remote_userr8r6�createds      rrzRemoteUserBackend.authenticate�s����	��F����&�&�{�3�3��
�#�
	�%�6�D����(�(�H���M�D�'��
:��*�*�7�D�9�9���
� �1�D�D�X�N�N�����)�
�
�
���
�����1�1�$�7�7�A�t�t�T�As�"B�B�Bc��|S)z�
        Perform any cleaning on the "username" prior to using it to get or
        create the user object.  Return the cleaned username.

        By default, return the username unchanged.
        r)r
r6s  rr�z RemoteUserBackend.clean_username�s	���rc��|S)z
        Configure a user after creation and return the updated user.

        By default, return the user unmodified.
        r)r
rr8s   rr�z RemoteUserBackend.configure_user�s	���rN)r'r(r)r|r�rr�r�rrrr�r��sV������	�	���B�B�B�<�������rr�c��eZdZd�ZdS)�AllowAllUsersRemoteUserBackendc��dSr�rr�s  rr3z4AllowAllUsersRemoteUserBackend.user_can_authenticate�rrNr�rrrr�r��r�rr�N)�django.contrib.authr�django.contrib.auth.modelsr�django.db.modelsrrrr.r	r+rr�r�rrr�<module>r�sI��.�.�.�.�.�.�1�1�1�1�1�1�0�0�0�0�0�0�0�0�0�0��N���	�C�C�C�C�C�C�C�C�.AB�AB�AB�AB�AB�;�AB�AB�AB�H���������
<�<�<�<�<��<�<�<�~�����%6�����r

Youez - 2016 - github.com/yon3zu
LinuXploit