javax.security.auth
LoginContext lc = new LoginContext("MyLoginModule", new CallbackHandler() {
@Override
public void handle(Callback[] callbacks) throws IOException {
for (Callback callback : callbacks) {
if (callback instanceof NameCallback) {
((NameCallback) callback).setName("username");
} else if (callback instanceof PasswordCallback) {
((PasswordCallback) callback).setPassword("password".toCharArray());
}
}
}
});
lc.login();Subject subject = LoginContext.getCurrent().getSubject();
boolean authorized = subject.isPermitted(new Permission("my.permission"));public class MyLoginModule implements LoginModule {
@Override
public boolean login() {
// Implement user authentication logic here
return true;
}
@Override
public boolean commit() {
// Implement user authorization logic here
return true;
}
@Override
public boolean abort() {
// Implement cleanup logic here
return true;
}
}