You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Owen O'Malley (JIRA)" <ji...@apache.org> on 2014/05/30 23:48:01 UTC
[jira] [Commented] (HADOOP-10342) Extend UserGroupInformation to
return a UGI given a preauthenticated kerberos Subject
[ https://issues.apache.org/jira/browse/HADOOP-10342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14014258#comment-14014258 ]
Owen O'Malley commented on HADOOP-10342:
----------------------------------------
This is good for branch-2.
> Extend UserGroupInformation to return a UGI given a preauthenticated kerberos Subject
> -------------------------------------------------------------------------------------
>
> Key: HADOOP-10342
> URL: https://issues.apache.org/jira/browse/HADOOP-10342
> Project: Hadoop Common
> Issue Type: Bug
> Components: security
> Reporter: Larry McCay
> Assignee: Larry McCay
> Attachments: 10342.branch-1.2.patch, 10342.branch-1.patch, 10342.branch-2.3.patch, 10342.branch-2.patch, 10342.patch
>
>
> We need the ability to use a Subject that was created inside an embedding application through a kerberos authentication. For example, an application that uses JAAS to authenticate to a KDC should be able to provide the resulting Subject and get a UGI instance to call doAs on.
> Example:
> {code}
> UserGroupInformation.setConfiguration(conf);
> LoginContext context = new LoginContext("com.sun.security.jgss.login", new UserNamePasswordCallbackHandler(userName, password));
> context.login();
>
> Subject subject = context.getSubject();
> final UserGroupInformation ugi2 = UserGroupInformation.getUGIFromSubject(subject);
> ugi2.doAs(new PrivilegedExceptionAction<Object>() {
> @Override
> public Object run() throws Exception {
> final FileSystem fs = FileSystem.get(conf);
> int i=0;
> for (FileStatus status : fs.listStatus(new Path("/user"))) {
> System.out.println(status.getPath());
> System.out.println(status);
> if (i++ > 10) {
> System.out.println("only first 10 showed...");
> break;
> }
> }
> return null;
> }
> });
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)