mike-jumper commented on PR #1028:
URL: 
https://github.com/apache/guacamole-client/pull/1028#issuecomment-2424691511

   Yes and no. That would be an alternative and consistent approach. Taking a 
mammoth step back to the beginning, I think we have two mutually-exclusive 
possible approaches:
   
   1. Identifier case sensitivity is defined by the extension _consuming_ the 
identifier.
   
      - This is what you're describing above and what I was describing 
initially.
      - This is invitingly simple, particularly for cases where there's only 
one thing consuming identifiers.
      - This feels a little odd, since it's the producer and not the consumer 
that determines the intent of the identifier, but it does mean there is no 
ambiguity in handling identifier comparisons.
      - This might make sense only in light of a single, global property for 
case sensitivity ... which is admittedly also invitingly simple.
   
   2. Identifier case sensitivity is defined by the extension _producing_ the 
identifier.
   
      - This is what I was describing most recently.
      - This is more complex, but allows the intent of an identifier to be 
communicated.
      - This feels cleaner, but introduces ambiguity around how case-sensitive 
and case-insensitive identifiers could be compared. Then again, encountering 
that explicit ambiguity might be an opportunity to log a warning that makes 
identifier case sensitivity mismatches easier to notice and remedy.
   
   Migrating to the former would mean getting rid of `isCaseSensitive()`, 
instead relying purely on configuration properties determining how usernames 
should be handled, and considering whether there should be any 
extension-specific case sensitivity properties (since having intentionally 
mixed case sensitivity would be bad practice).
   
   Migrating to the latter would mean keeping `isCaseSensitive()`, clarifying 
the properties as controlling the case sensitivity of the usernames of users 
authenticated by and/or stored by that extension.
   
   I find myself flipping back and forth between these without a clear answer 
as to which is truly best. I suspect that's probably also why the current 
approach is a sort of mix of these - they're both reasonable approaches.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to