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/
----------------------------------------------------------------

Reply via email to