[ https://issues.apache.org/jira/browse/GEODE-8782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17249164#comment-17249164 ]
ASF GitHub Bot commented on GEODE-8782: --------------------------------------- jinmeiliao commented on pull request #5840: URL: https://github.com/apache/geode/pull/5840#issuecomment-744603610 I see you are binding the subject to the threads running the function and also adding the the parameter `principal` to the constructor of the `FunctoinContext`, I wonder if we only need to do one of the two? If subject is already in the thread context, you don't need to pass it in the constructor, you can just directly get it from the thread local by calling `getCache().getSecurityService().getPrinicipal()` ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add getPrincipal method to FunctionContext interface > ---------------------------------------------------- > > Key: GEODE-8782 > URL: https://issues.apache.org/jira/browse/GEODE-8782 > Project: Geode > Issue Type: New Feature > Components: core > Reporter: Jens Deppe > Priority: Major > Labels: pull-request-available > > In some cases it would be very helpful to have access to the {{Principal}} > when executing a function. > It may seem obvious that if one has a reference to the {{cache}} that you > could get to the {{SecurityManager}} and extract the {{Subject}} and thus the > {{Principal}} from there. However, in some cases, Geode will seamlessly proxy > a function call from one server to the other. This will typically happen with > {{onRegion}} calls and partitioned regions. In such cases, the security > context is lost and thus the principal is not accessible. -- This message was sent by Atlassian Jira (v8.3.4#803005)