Возникли проблемы при получении Site.changePassword () для работы - PullRequest
2 голосов
/ 03 декабря 2011

У меня есть пользовательский портал, интегрированный с пользовательским сайтом, использующий Apex / Visualforce. Я хочу предоставить пользовательскую функцию смены пароля на странице Visualforce, которая включена для сайта / портала.

Метод статического класса Site вряд ли документирован, и после того, как я прочесал developerforce.com и вышел пустым, я решил попробовать здесь. Вот метод (найден в примере класса ChangePasswordController)

Site.changePassword(newPassword, verifyNewPassword, oldpassword);

Вот кикер. Независимо от того, какие данные я ввожу для этих значений, включая все политики паролей, метод просто возвращает ноль, а ничего не делает . Интересно, что в примере тестового метода, предоставленного Salesforce, assert буквально доказывает, что это так:

/**
 * An apex page controller that exposes the change password functionality
 */
public with sharing class ChangePasswordController {
    public String oldPassword {get; set;}
    public String newPassword {get; set;}
    public String verifyNewPassword {get; set;}        

    public PageReference changePassword() {
        return Site.changePassword(newPassword, verifyNewPassword, oldpassword);
    }     

    public ChangePasswordController() {}

    public static testMethod void testChangePasswordController() {
        // Instantiate a new controller with all parameters in the page
        ChangePasswordController controller = new ChangePasswordController();
        controller.oldPassword = '123456';
        controller.newPassword = 'qwerty1'; 
        controller.verifyNewPassword = 'qwerty1';                

        System.assertEquals(controller.changePassword(),null);                           
    }    
}

Заранее спасибо за любую помощь с этим!

1 Ответ

3 голосов
/ 03 декабря 2011

У вас есть элемент <apex:pageMessages> на вашей странице VF? Возможно, класс Site устанавливает сообщение об ошибке, которое вы не увидите, если у вас нет этого элемента на странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...