Bug 812657 - error when add new group the same with existing but different with lower and upper case on mysql
error when add new group the same with existing but different with lower and ...
Status: VERIFIED
Product: JBoss Enterprise Portal Platform 5
Classification: JBoss
Component: Portal (Show other bugs)
5.2.1.CR02
Unspecified Unspecified
unspecified Severity high
: ---
: 5.2.2.ER01
Assigned To: mposolda
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-15 15:16 EDT by vramik
Modified: 2018-02-06 14:19 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Picketlink IDM was performing case-sensitive comparison of group names with information stored in MySQL DB. Because MySQL DB does not record group names in a case-sensitive manner by default, cased group names such as "TEST_group" were not distinguishable from the group name "test_group". This issue affected search retrieval, as well as group creation. The issue can be fixed by configuring Picketlink IDM to compare group names in case-insensitive way. In picketlink-idm-config.xml, change the HibernateIdentityStore option "allowNotCaseSensitiveSearch" to true. Setting this option will prevent any Picketlink IDM exceptions relating to case insensitivity.
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Commits:
8731 by mposolda at 2012-06-19 10:21:47 EDT (show)
8731 by mposolda at 2012-06-19 10:21:47 EDT

Checked in to /mnt/n4aphx2-3.storage.phx2.redhat.com/svn/repos/gatein

Bug 812657 option 'allowNotCaseSensitiveSearch' added with default value to false (backward-compatibility). It can be swithced to true to avoid MySQL case-sensitivity error

7 files changed:

  • epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-acme-config.xml (+4 / -0)
  • epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-config.xml (+4 / -0)
  • epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-config.xml (+4 / -0)
  • epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-readonly-config.xml (+4 / -0)
  • epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-acme-config.xml (+4 / -0)
  • epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-config.xml (+4 / -0)
  • epp/portal/branches/EPP_5_2_Branch/web/portal/src/main/webapp/WEB-INF/conf/organization/picketlink-idm/picketlink-idm-config.xml (+4 / -0)


Attachments (Terms of Use)
log (62.92 KB, text/plain)
2012-04-15 15:17 EDT, vramik
no flags Details
screenshot (71.85 KB, image/png)
2012-04-15 15:18 EDT, vramik
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker GTNPORTAL-2475 Major Resolved error when add new group the same with existing but different with lower and upper case on mysql 2016-06-16 01:41 EDT

  None (edit)
Description vramik 2012-04-15 15:16:49 EDT
Steps to Reproduce:
1. open portal with mysql and sign in as a root
2. go to Group -> Organization -> Users and groups management
3. go to Group Management tab
4. add group with name test_prl_03_02_005
5. click "level up icon"
6. add group with name TEST_PRL_03_02_005
Comment 1 vramik 2012-04-15 15:17:33 EDT
Created attachment 577578 [details]
log
Comment 2 vramik 2012-04-15 15:18:19 EDT
Created attachment 577579 [details]
screenshot
Comment 3 JBoss JIRA Server 2012-06-19 10:08:21 EDT
Marek Posolda <mposolda@redhat.com> made a comment on jira GTNPORTAL-2475

Added option "allowNotCaseSensitiveSearch" into IDM configuration with default value true, which solves the MySQL case-sensitivity issue
Comment 4 mposolda 2012-06-19 11:00:42 EDT
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
CAUSE: When you creating new group, UI layer is trying to look if group with same name already exists and if yes, it shows  message in UI and it won't try to creatre such group. 

MySQL is not case-sensitive by default. But when you try to search group "TEST_group" and you already have "test_group", Picketlink IDM will return that group doesn't exist as it compares with respect to case-sensitivity by default. Then it tries to create group "TEST_group" but it is failing.

FIX: It's possible to fix it by configure Picketlink IDM to compare group names in case-insensitive way. This can be done by switch option "allowNotCaseSensitiveSearch" of HibernateIdentityStore in picketlink-idm-config.xml file to true. 

RESULT: So it's still case-sensitive by default. But customers have possibility to use the option and switch it to true to avoid exception. We need to document it and I am going to create separate Bugzilla for the documentation.
Comment 5 mposolda 2012-06-19 11:03:36 EDT
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,7 +1,7 @@
-CAUSE: When you creating new group, UI layer is trying to look if group with same name already exists and if yes, it shows  message in UI and it won't try to creatre such group. 
+CAUSE: When you are creating new group, UI layer is trying to look if group with same name already exists. If it exists, it shows  message in UI and it won't try to creatre such group. 
 
-MySQL is not case-sensitive by default. But when you try to search group "TEST_group" and you already have "test_group", Picketlink IDM will return that group doesn't exist as it compares with respect to case-sensitivity by default. Then it tries to create group "TEST_group" but it is failing.
+MySQL DB is not case-sensitive by default, but Picketlink IDM is doing case-sensitive comparison of group names. So when you try to search group "TEST_group" and you already have "test_group", Picketlink IDM will return that group doesn't exist as it compares with respect to case-sensitivity by default. But when it tries to create group "TEST_group", then it is failing because MySQL DB is not case-sensitive.
 
 FIX: It's possible to fix it by configure Picketlink IDM to compare group names in case-insensitive way. This can be done by switch option "allowNotCaseSensitiveSearch" of HibernateIdentityStore in picketlink-idm-config.xml file to true. 
 
-RESULT: So it's still case-sensitive by default. But customers have possibility to use the option and switch it to true to avoid exception. We need to document it and I am going to create separate Bugzilla for the documentation.+RESULT: So it's still case-sensitive by default. But customers have possibility to use the option and switch it to true to avoid exception. For now, it's documented here https://community.jboss.org/wiki/GateInIdentityAndSecurityFAQ in Q6/A6.
Comment 6 mposolda 2012-06-20 08:01:56 EDT
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,7 +1,7 @@
-CAUSE: When you are creating new group, UI layer is trying to look if group with same name already exists. If it exists, it shows  message in UI and it won't try to creatre such group. 
+CAUSE: When you are creating new group, UI layer is trying to look if group with same name already exists. If it exists, it shows  message in UI and it won't try to create such group. 
 
 MySQL DB is not case-sensitive by default, but Picketlink IDM is doing case-sensitive comparison of group names. So when you try to search group "TEST_group" and you already have "test_group", Picketlink IDM will return that group doesn't exist as it compares with respect to case-sensitivity by default. But when it tries to create group "TEST_group", then it is failing because MySQL DB is not case-sensitive.
 
 FIX: It's possible to fix it by configure Picketlink IDM to compare group names in case-insensitive way. This can be done by switch option "allowNotCaseSensitiveSearch" of HibernateIdentityStore in picketlink-idm-config.xml file to true. 
 
-RESULT: So it's still case-sensitive by default. But customers have possibility to use the option and switch it to true to avoid exception. For now, it's documented here https://community.jboss.org/wiki/GateInIdentityAndSecurityFAQ in Q6/A6.+RESULT: So IDM is still case-sensitive by default. But customers have possibility to use the option and switch it to true to avoid exception. For now, it's documented here https://community.jboss.org/wiki/GateInIdentityAndSecurityFAQ in Q6/A6.
Comment 7 Jared MORGAN 2012-08-20 20:57:30 EDT
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,7 +1 @@
-CAUSE: When you are creating new group, UI layer is trying to look if group with same name already exists. If it exists, it shows  message in UI and it won't try to create such group. 
+Picketlink IDM was performing case-sensitive comparison of group names with information stored in MySQL DB. Because MySQL DB does not record group names in a case-sensitive manner by default, cased group names such as "TEST_group" were not distinguishable from the group name "test_group". This issue affected search retrieval, as well as group creation. The issue can be fixed by configuring Picketlink IDM to compare group names in case-insensitive way. In picketlink-idm-config.xml, change the HibernateIdentityStore option "allowNotCaseSensitiveSearch" to true. Setting this option will prevent any Picketlink IDM exceptions relating to case insensitivity.-
-MySQL DB is not case-sensitive by default, but Picketlink IDM is doing case-sensitive comparison of group names. So when you try to search group "TEST_group" and you already have "test_group", Picketlink IDM will return that group doesn't exist as it compares with respect to case-sensitivity by default. But when it tries to create group "TEST_group", then it is failing because MySQL DB is not case-sensitive.
-
-FIX: It's possible to fix it by configure Picketlink IDM to compare group names in case-insensitive way. This can be done by switch option "allowNotCaseSensitiveSearch" of HibernateIdentityStore in picketlink-idm-config.xml file to true. 
-
-RESULT: So IDM is still case-sensitive by default. But customers have possibility to use the option and switch it to true to avoid exception. For now, it's documented here https://community.jboss.org/wiki/GateInIdentityAndSecurityFAQ in Q6/A6.
Comment 8 vramik 2012-08-27 11:13:19 EDT
Verified again at 5.2.2 CR01

Note You need to log in before you can comment on or make changes to this bug.