Hi.
I found this code to use Magnolia authentication mechanism to create
protected pages:
package info.magnolia.module.publicuserregistration.frontend.action;
import info.magnolia.cms.security.SecurityUtil;
import info.magnolia.cms.security.User;
import info.magnolia.cms.security.auth.login.LoginResult;
import info.magnolia.context.MgnlContext;
import info.magnolia.module.templating.paragraphs.ErrorMessagesAwareAction;
import javax.security.auth.login.LoginException;
import org.apache.commons.lang.ClassUtils;
/**
*
* @author gjoseph
* @version $Revision: $ ($Author: $)
*/
public class BasePublicUserParagraphAction extends ErrorMessagesAwareAction {
private User user;
protected String doExecute() {
user = MgnlContext.getUser();
return "success";
}
public boolean isAuthenticated() {
return SecurityUtil.isAuthenticated();
}
public User getUser() {
return user;
}
public String getLoginError() {
final LoginException exception =
LoginResult.getCurrentLoginResult().getLoginException();
return exception != null ? "login." +
ClassUtils.getShortClassName(exception, null) : null;
}
}
--------------------------------
The problem is that the class named "LoginResult" doesn't have the
static method "getCurrentLoginResult()" at all:
--------------------------------
package info.magnolia.cms.security.auth.login;
import info.magnolia.cms.security.User;
import javax.security.auth.login.LoginException;
/**
* @author philipp
* @version $Id: LoginResult.java 12471 2007-11-13 18:22:16Z gjoseph $
*/
public class LoginResult {
public static LoginResult NOT_HANDLED = new
LoginResult(LoginHandler.STATUS_NOT_HANDLED);
private int status;
private User user;
private LoginException loginException;
/**
* @param status
*/
public LoginResult(int status) {
this.status = status;
}
public LoginResult(int status, LoginException loginException) {
this.status = status;
this.loginException = loginException;
}
public LoginResult(int status, User user) {
this.status = status;
this.user = user;
}
public int getStatus() {
return this.status;
}
public User getUser() {
return this.user;
}
public LoginException getLoginException() {
return this.loginException;
}
}
-----------------------------
Do I have to look for another version of that class?
Two notes:
(1) I took that work from another person, I didn't start it
(2) the Magnolia version used is the 3.5 R1.
T.I.A.
----------------------------------------------------------------
for list details see
http://documentation.magnolia.info/
----------------------------------------------------------------