当前位置: 首页>>代码示例>>Java>>正文


Java UnixPrincipal类代码示例

本文整理汇总了Java中com.sun.security.auth.UnixPrincipal的典型用法代码示例。如果您正苦于以下问题:Java UnixPrincipal类的具体用法?Java UnixPrincipal怎么用?Java UnixPrincipal使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


UnixPrincipal类属于com.sun.security.auth包,在下文中一共展示了UnixPrincipal类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkPrincipal

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
private static void checkPrincipal(LoginContext loginContext, boolean
        principalShouldExist) {
    if (!principalShouldExist) {
        if (loginContext.getSubject().getPrincipals().size() != 0) {
            throw new RuntimeException("Test failed. Principal was not " +
                    "cleared.");
        }
    } else {
        for (Principal p : loginContext.getSubject().getPrincipals()) {
            if (p instanceof UnixPrincipal &&
                    USER_NAME.equals(p.getName())) {
                //Proper principal was found, return.
                return;
            }
        }
        throw new RuntimeException("Test failed. UnixPrincipal "
                + USER_NAME + " expected.");
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:20,代码来源:LCTest.java

示例2: commit

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
@Override
public boolean commit() throws LoginException {
    LCTest.logAction("commit");
    if (succeeded == false) {
        return false;
    }
    userPrincipal = new UnixPrincipal(username);
    final Subject s = subject;
    final UnixPrincipal up = userPrincipal;
    java.security.AccessController.doPrivileged
            ((java.security.PrivilegedAction) () -> {
                if (!s.getPrincipals().contains(up)) {
                    s.getPrincipals().add(up);
                }
                return null;
            });
    password = null;
    commitSucceeded = true;
    return true;
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:21,代码来源:LCTest.java

示例3: checkPrincipal

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
private static void checkPrincipal(LoginContext loginContext,
        boolean principalShouldExist) {
    if (!principalShouldExist) {
        if (loginContext.getSubject().getPrincipals().size() != 0) {
            throw new RuntimeException("Test failed. Principal was not "
                    + "cleared.");
        }
        return;
    }
    for (Principal p : loginContext.getSubject().getPrincipals()) {
        if (p instanceof UnixPrincipal
                && USER_NAME.equals(p.getName())) {
            //Proper principal was found, return.
            return;
        }
    }
    throw new RuntimeException("Test failed. UnixPrincipal "
            + USER_NAME + " expected.");

}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:21,代码来源:JaasClient.java

示例4: login

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
/**
 * Authenticate the user (first phase).
 *
 * <p> The implementation of this method attempts to retrieve the user's
 * Unix <code>Subject</code> information by making a native Unix
 * system call.
 *
 * <p>
 *
 * @exception FailedLoginException if attempts to retrieve the underlying
 *          system information fail.
 *
 * @return true in all cases (this <code>LoginModule</code>
 *          should not be ignored).
 */
public boolean login() throws LoginException {

    long[] unixGroups = null;

    ss = new UnixSystem();

    if (ss == null) {
        succeeded = false;
        throw new FailedLoginException
                            ("Failed in attempt to import " +
                            "the underlying system identity information");
    } else {
        userPrincipal = new UnixPrincipal(ss.getUsername());
        UIDPrincipal = new UnixNumericUserPrincipal(ss.getUid());
        GIDPrincipal = new UnixNumericGroupPrincipal(ss.getGid(), true);
        if (ss.getGroups() != null && ss.getGroups().length > 0) {
            unixGroups = ss.getGroups();
            for (int i = 0; i < unixGroups.length; i++) {
                UnixNumericGroupPrincipal ngp =
                    new UnixNumericGroupPrincipal
                    (unixGroups[i], false);
                if (!ngp.getName().equals(GIDPrincipal.getName()))
                    supplementaryGroups.add(ngp);
            }
        }
        if (debug) {
            System.out.println("\t\t[UnixLoginModule]: " +
                    "succeeded importing info: ");
            System.out.println("\t\t\tuid = " + ss.getUid());
            System.out.println("\t\t\tgid = " + ss.getGid());
            unixGroups = ss.getGroups();
            for (int i = 0; i < unixGroups.length; i++) {
                System.out.println("\t\t\tsupp gid = " + unixGroups[i]);
            }
        }
        succeeded = true;
        return true;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:55,代码来源:UnixLoginModule.java

示例5: clearState

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
private void clearState() {
    if (commitSucceeded) {
        final Subject s = subject;
        final UnixPrincipal up = userPrincipal;
        java.security.AccessController.doPrivileged
                ((java.security.PrivilegedAction) () -> {
                    s.getPrincipals().remove(up);
                    return null;
                });
    }
    username = null;
    password = null;
    userPrincipal = null;
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:15,代码来源:LCTest.java

示例6: Provider2

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
@DataProvider
public Object[][] Provider2() {
    Subject s3 = new Subject(false, Collections.EMPTY_SET, Collections.EMPTY_SET, CREDS);
    s3.getPrincipals().add(new NTUserPrincipal("NTUserPrincipal-1"));
    s3.getPrincipals().add(new UnixPrincipal("UnixPrincipals-1"));
    Subject s4 = new Subject(false, Collections.EMPTY_SET, Collections.EMPTY_SET, CREDS);
    s4.getPrincipals().add(new NTUserPrincipal("NTUserPrincipal-1"));
    s4.getPrincipals().add(new UnixPrincipal("UnixPrincipals-1"));
    s4.getPrincipals().add(new UnixPrincipal("UnixPrincipals-2"));
    return new Object[][]{{s3}, {s4}};
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:12,代码来源:MoreThenOnePrincipals.java

示例7: login

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
/**
 * Authenticate the user (first phase).
 *
 * <p> The implementation of this method attempts to retrieve the user's
 * Unix {@code Subject} information by making a native Unix
 * system call.
 *
 * @exception FailedLoginException if attempts to retrieve the underlying
 *          system information fail.
 *
 * @return true in all cases (this {@code LoginModule}
 *          should not be ignored).
 */
public boolean login() throws LoginException {

    long[] unixGroups = null;

    try {
        ss = new UnixSystem();
    } catch (UnsatisfiedLinkError ule) {
        succeeded = false;
        throw new FailedLoginException
                            ("Failed in attempt to import " +
                            "the underlying system identity information" +
                            " on " + System.getProperty("os.name"));
    }
    userPrincipal = new UnixPrincipal(ss.getUsername());
    UIDPrincipal = new UnixNumericUserPrincipal(ss.getUid());
    GIDPrincipal = new UnixNumericGroupPrincipal(ss.getGid(), true);
    if (ss.getGroups() != null && ss.getGroups().length > 0) {
        unixGroups = ss.getGroups();
        for (int i = 0; i < unixGroups.length; i++) {
            UnixNumericGroupPrincipal ngp =
                new UnixNumericGroupPrincipal
                (unixGroups[i], false);
            if (!ngp.getName().equals(GIDPrincipal.getName()))
                supplementaryGroups.add(ngp);
        }
    }
    if (debug) {
        System.out.println("\t\t[UnixLoginModule]: " +
                "succeeded importing info: ");
        System.out.println("\t\t\tuid = " + ss.getUid());
        System.out.println("\t\t\tgid = " + ss.getGid());
        unixGroups = ss.getGroups();
        for (int i = 0; i < unixGroups.length; i++) {
            System.out.println("\t\t\tsupp gid = " + unixGroups[i]);
        }
    }
    succeeded = true;
    return true;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:53,代码来源:UnixLoginModule.java

示例8: commit

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
@Override
public boolean commit() throws LoginException {
    if (succeeded == false) {
        return false;
    }
    userPrincipal = new UnixPrincipal(username);
    if (!subject.getPrincipals().contains(userPrincipal)) {
        subject.getPrincipals().add(userPrincipal);
    }
    System.out.println(String.format("'%s' login module authentication "
            + "committed", this.getClass()));
    password = null;
    commitSucceeded = true;
    return true;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:16,代码来源:TestLoginModule.java

示例9: commit

import com.sun.security.auth.UnixPrincipal; //导入依赖的package包/类
@Override
public boolean commit() throws LoginException {
    if (!subject.getPrincipals(SecurityConstants.OS_PRINCIPAL_CLASS).
            isEmpty()) {
        return true;
    }

    Principal user = getCanonicalUser(SecurityConstants.OS_PRINCIPAL_CLASS);
    if (user != null) {
        subject.getPrincipals().add(new UnixPrincipal(user.getName()));
        return true;
    }
    LOG.error("No such user " + subject);
    throw new LoginException("No such user " + subject);
}
 
开发者ID:sriksun,项目名称:ivry-security,代码行数:16,代码来源:IvoryLoginModule.java


注:本文中的com.sun.security.auth.UnixPrincipal类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。