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


Java SolarisNumericGroupPrincipal类代码示例

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


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

示例1: abort

import com.sun.security.auth.SolarisNumericGroupPrincipal; //导入依赖的package包/类
/**
 * Abort the authentication (second phase).
 *
 * <p> This method is called if the LoginContext's
 * overall authentication failed.
 * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules
 * did not succeed).
 *
 * <p> This method cleans up any state that was originally saved
 * as part of the authentication attempt from the <code>login</code>
 * and <code>commit</code> methods.
 *
 * <p>
 *
 * @exception LoginException if the abort fails
 *
 * @return false if this LoginModule's own login and/or commit attempts
 *          failed, and true otherwise.
 */
public boolean abort() throws LoginException {
    if (debug) {
        System.out.println("\t\t[SolarisLoginModule]: " +
            "aborted authentication attempt");
    }

    if (succeeded == false) {
        return false;
    } else if (succeeded == true && commitSucceeded == false) {

        // Clean out state
        succeeded = false;
        ss = null;
        userPrincipal = null;
        UIDPrincipal = null;
        GIDPrincipal = null;
        supplementaryGroups =
                    new LinkedList<SolarisNumericGroupPrincipal>();
    } else {
        // overall authentication succeeded and commit succeeded,
        // but someone else's commit failed
        logout();
    }
    return true;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:45,代码来源:SolarisLoginModule.java

示例2: abort

import com.sun.security.auth.SolarisNumericGroupPrincipal; //导入依赖的package包/类
/**
 * Abort the authentication (second phase).
 *
 * <p> This method is called if the LoginContext's
 * overall authentication failed.
 * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules
 * did not succeed).
 *
 * <p> This method cleans up any state that was originally saved
 * as part of the authentication attempt from the {@code login}
 * and {@code commit} methods.
 *
 * @exception LoginException if the abort fails
 *
 * @return false if this LoginModule's own login and/or commit attempts
 *          failed, and true otherwise.
 */
public boolean abort() throws LoginException {
    if (debug) {
        System.out.println("\t\t[SolarisLoginModule]: " +
            "aborted authentication attempt");
    }

    if (succeeded == false) {
        return false;
    } else if (succeeded == true && commitSucceeded == false) {

        // Clean out state
        succeeded = false;
        ss = null;
        userPrincipal = null;
        UIDPrincipal = null;
        GIDPrincipal = null;
        supplementaryGroups =
                    new LinkedList<SolarisNumericGroupPrincipal>();
    } else {
        // overall authentication succeeded and commit succeeded,
        // but someone else's commit failed
        logout();
    }
    return true;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:43,代码来源:SolarisLoginModule.java

示例3: login

import com.sun.security.auth.SolarisNumericGroupPrincipal; //导入依赖的package包/类
/**
 * Authenticate the user (first phase).
 *
 * <p> The implementation of this method attempts to retrieve the user's
 * Solaris <code>Subject</code> information by making a native Solaris
 * 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[] solarisGroups = null;

    ss = new SolarisSystem();

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

示例4: logout

import com.sun.security.auth.SolarisNumericGroupPrincipal; //导入依赖的package包/类
/**
 * Logout the user
 *
 * <p> This method removes the Principals associated
 * with the <code>Subject</code>.
 *
 * <p>
 *
 * @exception LoginException if the logout fails
 *
 * @return true in all cases (this <code>LoginModule</code>
 *          should not be ignored).
 */
public boolean logout() throws LoginException {
    if (debug) {
        System.out.println("\t\t[SolarisLoginModule]: " +
            "Entering logout");
    }
    if (subject.isReadOnly()) {
        throw new LoginException ("Subject is Readonly");
    }
    // remove the added Principals from the Subject
    subject.getPrincipals().remove(userPrincipal);
    subject.getPrincipals().remove(UIDPrincipal);
    subject.getPrincipals().remove(GIDPrincipal);
    for (int i = 0; i < supplementaryGroups.size(); i++) {
        subject.getPrincipals().remove(supplementaryGroups.get(i));
    }

    // clean out state
    ss = null;
    succeeded = false;
    commitSucceeded = false;
    userPrincipal = null;
    UIDPrincipal = null;
    GIDPrincipal = null;
    supplementaryGroups = new LinkedList<SolarisNumericGroupPrincipal>();

    if (debug) {
        System.out.println("\t\t[SolarisLoginModule]: " +
            "logged out Subject");
    }
    return true;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:45,代码来源:SolarisLoginModule.java

示例5: login

import com.sun.security.auth.SolarisNumericGroupPrincipal; //导入依赖的package包/类
/**
 * Authenticate the user (first phase).
 *
 * <p> The implementation of this method attempts to retrieve the user's
 * Solaris {@code Subject} information by making a native Solaris
 * 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[] solarisGroups = null;

    try {
        ss = new SolarisSystem();
    } 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 SolarisPrincipal(ss.getUsername());
    UIDPrincipal = new SolarisNumericUserPrincipal(ss.getUid());
    GIDPrincipal = new SolarisNumericGroupPrincipal(ss.getGid(), true);
    if (ss.getGroups() != null && ss.getGroups().length > 0)
        solarisGroups = ss.getGroups();
        for (int i = 0; i < solarisGroups.length; i++) {
            SolarisNumericGroupPrincipal ngp =
                new SolarisNumericGroupPrincipal
                (solarisGroups[i], false);
            if (!ngp.getName().equals(GIDPrincipal.getName()))
                supplementaryGroups.add(ngp);
        }
    if (debug) {
        System.out.println("\t\t[SolarisLoginModule]: " +
                "succeeded importing info: ");
        System.out.println("\t\t\tuid = " + ss.getUid());
        System.out.println("\t\t\tgid = " + ss.getGid());
        solarisGroups = ss.getGroups();
        for (int i = 0; i < solarisGroups.length; i++) {
            System.out.println("\t\t\tsupp gid = " + solarisGroups[i]);
        }
    }
    succeeded = true;
    return true;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:52,代码来源:SolarisLoginModule.java

示例6: logout

import com.sun.security.auth.SolarisNumericGroupPrincipal; //导入依赖的package包/类
/**
 * Logout the user
 *
 * <p> This method removes the Principals associated
 * with the {@code Subject}.
 *
 * @exception LoginException if the logout fails
 *
 * @return true in all cases (this {@code LoginModule}
 *          should not be ignored).
 */
public boolean logout() throws LoginException {
    if (debug) {
        System.out.println("\t\t[SolarisLoginModule]: " +
            "Entering logout");
    }
    if (subject.isReadOnly()) {
        throw new LoginException ("Subject is Readonly");
    }
    // remove the added Principals from the Subject
    subject.getPrincipals().remove(userPrincipal);
    subject.getPrincipals().remove(UIDPrincipal);
    subject.getPrincipals().remove(GIDPrincipal);
    for (int i = 0; i < supplementaryGroups.size(); i++) {
        subject.getPrincipals().remove(supplementaryGroups.get(i));
    }

    // clean out state
    ss = null;
    succeeded = false;
    commitSucceeded = false;
    userPrincipal = null;
    UIDPrincipal = null;
    GIDPrincipal = null;
    supplementaryGroups = new LinkedList<SolarisNumericGroupPrincipal>();

    if (debug) {
        System.out.println("\t\t[SolarisLoginModule]: " +
            "logged out Subject");
    }
    return true;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:43,代码来源:SolarisLoginModule.java


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