Hi Khushboo

Some more review comments:

   - Fix one small PEP8 issue.
   - If ipAddress or Port is not set in the configuration file then browser
   showing the following data, it should be shown proper error message on the
   login page
      - {"success":0,"errormsg":"Port could not be cast to integer value as
      '<port>'","info":"","result":null,"data":null}
   - Disable the Username field in the User Management dialog if the
   authentication source is set to internal.
   - API Test cases are failing if LDAP related settings are not
   provided in the test_config.json file. If the configuration is not provided
   then LDAP tests should be skipped.

@Dave, I have tested and done the code review. Can you please do it once as
well, whenever Khushboo will fix and send the updated patch?


On Thu, Apr 2, 2020 at 7:00 PM Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

> Hi Akshay,
>
> Please find the attached updated patch.
>
> On Thu, Apr 2, 2020 at 4:55 PM Akshay Joshi <akshay.jo...@enterprisedb.com>
> wrote:
>
>> Hi Khushboo
>>
>> Following are the initial review comments (GUI):
>>
>> *Desktop Mode: *
>>
>>    - KeyError: '_auth_source_manager_obj' in desktop mode. (*Note* error
>>    occurs when the patch has applied and server mode is False.)
>>
>> Fixed.
>
>> *Server Mode:*
>>
>> AUTHENTICATION_SOURCES = ['internal']
>>
>>
>>    - Try to add a new user with the same email address, it throws a
>>    unique key constraint error. Validation was there previously before saving
>>    it.
>>
>> Fixed.
>
>> AUTHENTICATION_SOURCES = ['internal', 'ldap']
>>
>>    - Try to add a new user with the same email address, it throws
>>    unique key constraint error which should not it may possible that the user
>>    has the same email address for internal and ldap.
>>
>> If the source is internal, it will not allow but with ldap, we can add
> the user with the same email id.
>
>> AUTHENTICATION_SOURCES = ['ldap']
>>
>>    - If ipAddress or Port is not set in the configuration file then
>>    browser showing the following data, it should be shown proper error 
>> message
>>    on the login page
>>       - {"success":0,"errormsg":"Port could not be cast to integer value
>>       as '<port>'","info":"","result":null,"data":null}
>>
>> Done
>
>>
>>    - If IP address and port is provided but it is wrong, it shows the
>>    following error, can we make a generic error message? Also clicking on the
>>    Close button on that error message is not working.
>>    [image: Screenshot 2020-04-02 at 4.23.55 PM.png]
>>
>> I will look into the close button issue as it is an existing issue.
>
>>
>>    -
>>    - IP address and port of LDAP server are correct, give wrong user
>>    name and password, it shows error "Error binding to the LDAP Server: 
>> None".
>>    Please correct the appropriate error message.
>>
>> Fixed.
>
>>
>>    - All the configuration parameter is correct and tries to log in on
>>    LDAP server using username (*not email address*) and password got 
>> following
>>    error:
>>
>> current_user.email.split('@')[0] if config.SERVER_MODE is True
>> AttributeError: 'NoneType' object has no attribute 'split'.
>>
>> Fixed.
>
>> Not able to test due to the above error. Please fix and resend the patch.
>>
>
> Thanks,
> Khushboo
>
> Thanks,
> Khushboo
>
>>
>> On Thu, Apr 2, 2020 at 2:06 PM Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>> Hi,
>>>
>>> Resending the patch.
>>> Missed the requirements.txt file in the previous patch.
>>>
>>> Thanks,
>>> Khushboo
>>>
>>> On Wed, Apr 1, 2020 at 5:38 PM Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Please find the attached updated patch which includes the review
>>>> comments given in the review meeting:
>>>>
>>>> 1. Do not store password for ldap user in sqlite database
>>>> 2. Forgot Password : Give error to ldap users
>>>> 3. User Management dialog changes
>>>> 4. Authentication source display besides username / email after login
>>>>
>>>> Thanks,
>>>> Khushboo
>>>>
>>>>
>>>> On Tue, Mar 24, 2020 at 3:20 PM Khushboo Vashi <
>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>
>>>>> Please disregard my previous patch, attached the updated patch. :)
>>>>>
>>>>>
>>>>> On Tue, Mar 24, 2020 at 10:32 AM Khushboo Vashi <
>>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>>
>>>>>> Please disregard my previous patch, attached the updated patch.
>>>>>>
>>>>>> On Tue, Mar 24, 2020 at 10:29 AM Khushboo Vashi <
>>>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Please find the attached updated patch.
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Mar 17, 2020 at 4:11 PM Dave Page <dp...@pgadmin.org> wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> On Tue, Mar 17, 2020 at 10:24 AM Khushboo Vashi <
>>>>>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Dave,
>>>>>>>>>
>>>>>>>>> Thanks for the review.
>>>>>>>>>
>>>>>>>>> On Tue, Mar 17, 2020 at 3:42 PM Dave Page <dp...@pgadmin.org>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>> 30 second read of the first version of the patch...
>>>>>>>>>>
>>>>>>>>>> - Please move the configuration into config.py. Users should
>>>>>>>>>> never have to modify a distributed file (it messes up packaging). I 
>>>>>>>>>> don't
>>>>>>>>>> see any reason to use a different file just for auth config.
>>>>>>>>>>
>>>>>>>>>> There are many settings for the LDAP, and in the future we will
>>>>>>>>> add other external sources also, so I thought it would be better if 
>>>>>>>>> we have
>>>>>>>>> different file for the authentication.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Sure, but our config file is small compared to many. Splitting
>>>>>>>> things out is more confusing for users. If they want to do that 
>>>>>>>> themselves
>>>>>>>> of course, they can add a config_local.py file which includes other 
>>>>>>>> files
>>>>>>>> as needed.
>>>>>>>>
>>>>>>> Fixed.
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> - I think all config options should be prefixed with LDAP_ as we
>>>>>>>>>> may have things like CERT_FILE for other purposes too.
>>>>>>>>>>
>>>>>>>>>> Sure.
>>>>>>>>>
>>>>>>>> Done.
>>>>>>>
>>>>>>>> - I don't see any test cases.
>>>>>>>>>>
>>>>>>>>>> I will think about this, as right now no idea how to write test
>>>>>>>>> cases for this.
>>>>>>>>>
>>>>>>>>
>>>>>>>> It should be fairly straightforward to write tests for some of the
>>>>>>>> functions in the auth classes. For testing the actual LDAP stuff, we
>>>>>>>> probably need to add LDAP config options to test_config.json, and only 
>>>>>>>> if
>>>>>>>> present, run the tests. That would probably need to support a list of 
>>>>>>>> LDAP
>>>>>>>> servers, so we can test with different configurations (LDAP, LDAPS,
>>>>>>>> LDAP_STARTTLS, AD etc).
>>>>>>>>
>>>>>>>>
>>>>>>> Done.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Khushboo
>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>> Khushboo
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tue, Mar 17, 2020 at 8:55 AM Khushboo Vashi <
>>>>>>>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> Please find the attached patch to support LDAP Authentication in
>>>>>>>>>>> Server mode.
>>>>>>>>>>> To test the patch, config_auth.py needs to be configured for
>>>>>>>>>>> LDAP configurations. The config settings are explained in this file 
>>>>>>>>>>> in
>>>>>>>>>>> detail. After configuring the parameters, start the pgadmin server 
>>>>>>>>>>> in
>>>>>>>>>>> Server mode and connect with LDAP server with the valid user via 
>>>>>>>>>>> login page.
>>>>>>>>>>>
>>>>>>>>>>> I have tested this patch with ldap and ldap + ssl/tls. With the
>>>>>>>>>>> TLS, I have used the default config of ldap3 without certificates.
>>>>>>>>>>>
>>>>>>>>>>> @Dave, can you please review this patch, as you have a better
>>>>>>>>>>> understanding of LDAP and you can easily pointed out if I have 
>>>>>>>>>>> missed
>>>>>>>>>>> anything.
>>>>>>>>>>>
>>>>>>>>>>> Note: For the document update I will create the task and assign
>>>>>>>>>>> to Nidhi for the same.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Khushboo
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Dave Page
>>>>>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>>>>>> Twitter: @pgsnake
>>>>>>>>>>
>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Dave Page
>>>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>>>> Twitter: @pgsnake
>>>>>>>>
>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>>
>>>>>>>
>>
>> --
>> *Thanks & Regards*
>> *Akshay Joshi*
>>
>> *Sr. Software Architect*
>> *EnterpriseDB Software India Private Limited*
>> *Mobile: +91 976-788-8246*
>>
>

-- 
*Thanks & Regards*
*Akshay Joshi*

*Sr. Software Architect*
*EnterpriseDB Software India Private Limited*
*Mobile: +91 976-788-8246*

Reply via email to