本文整理汇总了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.");
}
}
示例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;
}
示例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.");
}
示例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;
}
}
示例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;
}
示例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}};
}
示例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;
}
示例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;
}
示例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);
}