本文整理汇总了Java中java.nio.file.attribute.UserPrincipalLookupService.lookupPrincipalByName方法的典型用法代码示例。如果您正苦于以下问题:Java UserPrincipalLookupService.lookupPrincipalByName方法的具体用法?Java UserPrincipalLookupService.lookupPrincipalByName怎么用?Java UserPrincipalLookupService.lookupPrincipalByName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.nio.file.attribute.UserPrincipalLookupService
的用法示例。
在下文中一共展示了UserPrincipalLookupService.lookupPrincipalByName方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testUserLookupService
import java.nio.file.attribute.UserPrincipalLookupService; //导入方法依赖的package包/类
@Test
public void testUserLookupService() throws IOException {
UserPrincipalLookupService service = new UserLookupService(true);
UserPrincipal bob1 = service.lookupPrincipalByName("bob");
UserPrincipal bob2 = service.lookupPrincipalByName("bob");
UserPrincipal alice = service.lookupPrincipalByName("alice");
assertThat(bob1).isEqualTo(bob2);
assertThat(bob1).isNotEqualTo(alice);
GroupPrincipal group1 = service.lookupPrincipalByGroupName("group");
GroupPrincipal group2 = service.lookupPrincipalByGroupName("group");
GroupPrincipal foo = service.lookupPrincipalByGroupName("foo");
assertThat(group1).isEqualTo(group2);
assertThat(group1).isNotEqualTo(foo);
}
示例2: addRestorePermissions
import java.nio.file.attribute.UserPrincipalLookupService; //导入方法依赖的package包/类
/**
* Add the proper File-System permissions to a file so that SQL Server can run a RESTORE query.
*
* @param username The username that SQL Server runs as, e.g. "NETWORK SERVICE"
* @param file The file whose permissions will be modified.
* @throws IOException
*/
public static void addRestorePermissions(String username, Path file) throws IOException
{
AclFileAttributeView aclAttr = Files.getFileAttributeView(file, AclFileAttributeView.class);
UserPrincipalLookupService currULS = file.getFileSystem().getUserPrincipalLookupService();
UserPrincipal principal = currULS.lookupPrincipalByName(username);
AclEntry.Builder builder = AclEntry.newBuilder();
builder.setPermissions(EnumSet.of(AclEntryPermission.READ_DATA,
AclEntryPermission.READ_ACL,
AclEntryPermission.READ_ATTRIBUTES,
AclEntryPermission.READ_NAMED_ATTRS,
AclEntryPermission.EXECUTE,
AclEntryPermission.SYNCHRONIZE));
builder.setPrincipal(principal);
builder.setType(AclEntryType.ALLOW);
aclAttr.setAcl(Collections.singletonList(builder.build()));
}
示例3: getUserPrincipalFrom
import java.nio.file.attribute.UserPrincipalLookupService; //导入方法依赖的package包/类
private UserPrincipal getUserPrincipalFrom(String userName) throws IOException
{
try {
if (_isCacheEnabled) {
return _nameToUserPrincipal.get(userName);
}
UserPrincipalLookupService service =
FileSystems.getDefault().getUserPrincipalLookupService();
return service.lookupPrincipalByName(userName);
} catch (IOException | UnsupportedOperationException e) {
return null;
}
}
示例4: getUserPrincipalFrom
import java.nio.file.attribute.UserPrincipalLookupService; //导入方法依赖的package包/类
private UserPrincipal getUserPrincipalFrom(String userName) throws IOException
{
try {
UserPrincipal principal = _nameToUserPrincipal.get(userName);
if (principal == null) {
UserPrincipalLookupService service =
FileSystems.getDefault().getUserPrincipalLookupService();
principal = service.lookupPrincipalByName(userName);
_nameToUserPrincipal.put(userName, principal);
}
return principal;
} catch (UnsupportedOperationException e) {
throw new IOException(e);
}
}
示例5: chown
import java.nio.file.attribute.UserPrincipalLookupService; //导入方法依赖的package包/类
/**
* @param localFile the local file to use chown on
* @param owner the file owner to set
* @param group the file group to set
* @throws IOException if chown couldn't be edited
*/
public static void chown(File localFile, String owner, String group) throws IOException {
PosixFileAttributeView view = FileHelper.getFileAttributes(localFile);
UserPrincipalLookupService lookupService = FileSystems.getDefault().getUserPrincipalLookupService();
UserPrincipal fileOwner = lookupService.lookupPrincipalByName(owner);
GroupPrincipal fileGroup = lookupService.lookupPrincipalByGroupName(group);
view.setOwner(fileOwner);
view.setGroup(fileGroup);
}
示例6: getOwner
import java.nio.file.attribute.UserPrincipalLookupService; //导入方法依赖的package包/类
@Override
public UserPrincipal getOwner() throws IOException {
UserPrincipalLookupService ls = this.path.getFileSystem()
.getUserPrincipalLookupService();
FileStatus fileStatus = path.getFileSystem().getHDFS()
.getFileStatus(path.getRawResolvedPath());
return ls.lookupPrincipalByName(fileStatus.getOwner());
}
示例7: defineFilePosixAttributeView
import java.nio.file.attribute.UserPrincipalLookupService; //导入方法依赖的package包/类
/**
* Define file posix attribute view on a path/file.
*
* @param path Target path
* @param filePermissions Permissions to apply
* @param fileOwner File owner
* @param fileGroup File group
* @throws IOException If IO error during definition of file attribute view
*/
public static void defineFilePosixAttributeView(final Path path,
final Set<PosixFilePermission> filePermissions,
final String fileOwner,
final String fileGroup) throws IOException {
final PosixFileAttributeView view = Files.getFileAttributeView(path, PosixFileAttributeView.class);
if (view != null) {
final UserPrincipalLookupService lookupService = FileSystems.getDefault()
.getUserPrincipalLookupService();
if (fileOwner != null) {
final UserPrincipal userPrincipal = lookupService.lookupPrincipalByName(fileOwner);
if (userPrincipal != null) {
// If not sudoers member, it will throw Operation not permitted
// Only processes with an effective user ID equal to the user ID
// of the file or with appropriate privileges may change the ownership of a file.
// If _POSIX_CHOWN_RESTRICTED is in effect for path
view.setOwner(userPrincipal);
}
}
if (fileGroup != null) {
final GroupPrincipal groupPrincipal = lookupService.lookupPrincipalByGroupName(fileGroup);
if (groupPrincipal != null) {
// The current user id should be members of this group,
// if not will raise Operation not permitted
view.setGroup(groupPrincipal);
}
}
if (filePermissions != null) {
view.setPermissions(filePermissions);
}
}
}