как работать с Custom UserAuthantication в DNN

Я создал новый объект скина входа в систему, который содержит одну гиперссылку. этот объект обложки помещается на другой объект пользовательского скина. Когда нажимается эта гиперссылка для входа, я открываю всплывающее окно div, этот div содержит встроенный элемент управления входом DNN, размещенный в Desktopmodules / Admin / Autanticationservice /. Теперь, когда всплывает модуль входа в систему и я нажимаю кнопку входа в систему, это попадает в событие login_clicked модуля входа DNN. Здесь я вижу через отладку, что пользователь проходит аутентификацию, но внутри этого метода в последней строке "OnUserAuthenticated (args)" не вызывается ... ??? Почему ??? Любые идеи..???


person Manish Pandey    schedule 19.03.2012    source источник
comment
пожалуйста, помогите, я застрял в этом ...   -  person Manish Pandey    schedule 20.03.2012


Ответы (2)


У меня тоже был этот, я не понял, как решить настоящую проблему, но вы можете обойти это, заменив:

UserController.ValidateUser(PortalId, txtUsername.Value, txtPassword.Value, "DNN", string.Empty, PortalSettings.PortalName, IPAddress, ref loginStatus);

с участием

UserController.UserLogin(PortalSettings.PortalId, txtUsername.Value, txtPassword.Value, string.Empty, PortalSettings.PortalName, IPAddress, ref loginStatus, false);

Тогда он, по крайней мере, войдет в систему, но вам придется иметь дело с перенаправлением самостоятельно.

Это взлом, и мне он не нравится, но, надеюсь, это поможет кому-то другому.

person Casey Williams    schedule 14.03.2013

У меня была такая же проблема, я долго и внимательно смотрел, и в конце концов мне пришлось загрузить полный исходный код и выполнить код для входа в полное приложение dnn:

Как только я добавил следующее, я смог успешно аутентифицировать пользователя:

        // from above
        UserController.UserLogin(PortalSettings.PortalId, txtUsername.Value, txtPassword.Value, string.Empty, PortalSettings.PortalName, IPAddress, ref loginStatus, false);
        // login and auth with DNN
        var existingUserEventArgs = new UserAuthenticatedEventArgs(loginUser, loginUser.Username, loginStatus, "DNN");
        existingUserEventArgs.Authenticated = true;
        EventManager.Instance.OnUserAuthenticated(new UserEventArgs { User = loginUser });
        // success - redirect - or what ever
person ransems    schedule 19.12.2020