You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2013/10/16 16:08:03 UTC
svn commit: r1532774 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak:
security/authentication/token/ spi/security/authentication/
spi/security/authentication/external/
Author: angela
Date: Wed Oct 16 14:08:03 2013
New Revision: 1532774
URL: http://svn.apache.org/r1532774
Log:
OAK-91 : authentication (minor improvement)
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModule.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/SyncHandler.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java?rev=1532774&r1=1532773&r2=1532774&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java Wed Oct 16 14:08:03 2013
@@ -215,7 +215,7 @@ public final class TokenLoginModule exte
SecurityProvider securityProvider = getSecurityProvider();
Root root = getRoot();
if (root != null && securityProvider != null) {
- AuthenticationConfiguration authConfig = getSecurityProvider().getConfiguration(AuthenticationConfiguration.class);
+ AuthenticationConfiguration authConfig = securityProvider.getConfiguration(AuthenticationConfiguration.class);
provider = authConfig.getTokenProvider(root);
}
if (provider == null && callbackHandler != null) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java?rev=1532774&r1=1532773&r2=1532774&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java Wed Oct 16 14:08:03 2013
@@ -372,10 +372,10 @@ public abstract class AbstractLoginModul
protected UserManager getUserManager() {
UserManager userManager = null;
SecurityProvider sp = getSecurityProvider();
- Root root = getRoot();
- if (root != null && sp != null) {
+ Root r = getRoot();
+ if (r != null && sp != null) {
UserConfiguration uc = securityProvider.getConfiguration(UserConfiguration.class);
- userManager = uc.getUserManager(root, NamePathMapper.DEFAULT);
+ userManager = uc.getUserManager(r, NamePathMapper.DEFAULT);
}
if (userManager == null && callbackHandler != null) {
@@ -404,10 +404,10 @@ public abstract class AbstractLoginModul
protected PrincipalProvider getPrincipalProvider() {
PrincipalProvider principalProvider = null;
SecurityProvider sp = getSecurityProvider();
- Root root = getRoot();
- if (root != null && sp != null) {
+ Root r = getRoot();
+ if (r != null && sp != null) {
PrincipalConfiguration pc = sp.getConfiguration(PrincipalConfiguration.class);
- principalProvider = pc.getPrincipalProvider(root, NamePathMapper.DEFAULT);
+ principalProvider = pc.getPrincipalProvider(r, NamePathMapper.DEFAULT);
}
if (principalProvider == null && callbackHandler != null) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModule.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModule.java?rev=1532774&r1=1532773&r2=1532774&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModule.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModule.java Wed Oct 16 14:08:03 2013
@@ -18,9 +18,11 @@ package org.apache.jackrabbit.oak.spi.se
import java.util.Collections;
import java.util.Set;
+import javax.annotation.Nonnull;
import javax.jcr.SimpleCredentials;
import javax.security.auth.login.LoginException;
+import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.spi.security.authentication.AbstractLoginModule;
@@ -56,6 +58,7 @@ public abstract class ExternalLoginModul
*
* @return
*/
+ @Nonnull
protected abstract ExternalUser getExternalUser();
/**
@@ -64,6 +67,7 @@ public abstract class ExternalLoginModul
* @return
* @throws SyncException
*/
+ @Nonnull
protected SyncHandler getSyncHandler() throws SyncException {
Object syncHandler = options.getConfigValue(PARAM_SYNC_HANDLER, null, null);
if (syncHandler == null) {
@@ -117,6 +121,10 @@ public abstract class ExternalLoginModul
try {
SyncHandler handler = getSyncHandler();
Root root = getRoot();
+ UserManager userManager = getUserManager();
+ if (root == null || userManager == null) {
+ throw new LoginException("Cannot synchronize user.");
+ }
Object smValue = options.getConfigValue(PARAM_SYNC_MODE, null, null);
SyncMode syncMode;
if (smValue == null) {
@@ -124,7 +132,7 @@ public abstract class ExternalLoginModul
} else {
syncMode = SyncMode.fromObject(smValue);
}
- if (handler.initialize(getUserManager(), root, syncMode, options)) {
+ if (handler.initialize(userManager, root, syncMode, options)) {
handler.sync(getExternalUser());
root.commit();
return true;
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/SyncHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/SyncHandler.java?rev=1532774&r1=1532773&r2=1532774&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/SyncHandler.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/SyncHandler.java Wed Oct 16 14:08:03 2013
@@ -16,6 +16,8 @@
*/
package org.apache.jackrabbit.oak.spi.security.authentication.external;
+import javax.annotation.Nonnull;
+
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
@@ -25,8 +27,9 @@ import org.apache.jackrabbit.oak.spi.sec
*/
public interface SyncHandler {
- boolean initialize(UserManager userManager, Root root, SyncMode mode,
- ConfigurationParameters options) throws SyncException;
+ boolean initialize(@Nonnull UserManager userManager, @Nonnull Root root,
+ @Nonnull SyncMode mode,
+ @Nonnull ConfigurationParameters options) throws SyncException;
- boolean sync(ExternalUser externalUser) throws SyncException;
+ boolean sync(@Nonnull ExternalUser externalUser) throws SyncException;
}
\ No newline at end of file