Я пытаюсь реализовать это забыл имя пользователя компонент. И код контроллера Apex работает, когда я тестирую в билдере. Но если я протестирую его без входа в систему, он выдаст ошибку.

global with sharing class ForgotUsernameController {
@AuraEnabled
global static User fetchUser(String emailAddress) {
    List < User > listUsers = [ SELECT Id, Username, IsActive FROM User WHERE Email =: emailAddress ];
    if ( listUsers.size() > 0 ) {
        User usr = listUsers[0];
        return usr;
    } else {
        User noUser = new User();
        noUser.Username = 'No user found with that email';
        return noUser;
    }
}    

В контроллере ... ответ ОШИБКА вне входа в систему, это УСПЕХ внутри.

({
findUser : function(component, event, helper) {
    component.set("v.searchBool", true);
    var action = component.get("c.fetchUser");
    action.setParams({
        emailAddress : component.get("v.email")
    });
    action.setCallback(this, function(response){
        var state = response.getState();
        console.dir(response); // this response is ERROR
        if (state === "SUCCESS") {

            if(response.getReturnValue() == "null")
            {
                component.set("v.userRecord", "No user found!");
            } else {
                component.set("v.userRecord", response.getReturnValue());
            }
        }
    });
    $A.enqueueAction(action);
},

})

0
afandre 20 Авг 2020 в 17:53

1 ответ

Классу apex требуются разрешения из гостевого профиля пользователя. Профиль гостевого пользователя находится в разделе Community Builder -> Настройки -> Общие -> Профиль гостевого пользователя.

0
afandre 20 Авг 2020 в 23:03