显示加载屏幕时如何处理身份验证?

利索夫斯基

如何同时显示加载屏幕和处理授权?

我可以切换到LoadingView并返回到AuthViewinAuthController还是需要将身份验证逻辑移到LoadingController

class AuthController : Controller() {
    val authView : AuthView by inject()
    val loadingView : LoadingView by inject()

    fun tryAuth(login: String, password: String) {
        runAsync {
            login == "admin" && password == "admin"
        } ui { successful ->
            authView.replaceWith(loadingView, ViewTransition.Fade(0.5.seconds))

            if (successful) {
                // doesn't work
                loadingView.replaceWith(MainView::class, ViewTransition.Metro(0.5.seconds))
            } else {
                // doesn't work
                loadingView.replaceWith(AuthView::class, ViewTransition.Fade(0.5.seconds))
            }
        }
    }
}
埃德文·赛斯

要更换AuthViewLoadingView,然后LoadingViewMainView在相同的脉冲,所以这不会给你想要的东西。通常,您希望LoadingView在评估身份验证信息之前更改为UI 线程上的 。使用这种方法,您的代码可以工作,但它可能不是您想要的。

class AuthController : Controller() {
    val authView : AuthView by inject()
    val loadingView : LoadingView by inject()

    fun tryAuth(login: String, password: String) {
        authView.replaceWith(loadingView, ViewTransition.Fade(0.5.seconds))

        runAsync {
            // Simulate db access or http call
            Thread.sleep(2000)
            login == "admin" && password == "admin"
        } ui { successful ->

            if (successful) {
                // doesn't work
                loadingView.replaceWith(MainView::class, ViewTransition.Metro(0.5.seconds))
            } else {
                // doesn't work
                loadingView.replaceWith(AuthView::class, ViewTransition.Fade(0.5.seconds))
            }

        }
    }
}

class AuthView : View("Auth") {
    val authController: AuthController by inject()

    override val root = stackpane {
        button(title).action {
            authController.tryAuth("admin", "admin")
        }
    }
}

class LoadingView : View("Loading...") {
    override val root = stackpane {
        label(title)
    }
}

class MainView : View("Main View") {
    override val root = stackpane {
        label(title)
    }
}

您必须记住,替换视图不会调整窗口大小(尽管您可以访问舞台并要求它调整到当前视图的大小),因此最好在单独的窗口中打开每个视图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

运行代码时如何处理“身份验证/用户未找到”?

来自分类Dev

密码包含“#”时如何处理身份验证弹出窗口

来自分类Dev

MEAN js如何处理身份验证?

来自分类Dev

如何处理Firebase身份验证错误?/迅捷/ Firebase

来自分类Dev

如何处理多个身份验证提供程序(firebase)

来自分类Dev

openAM 如何处理身份验证请求?

来自分类Dev

表单身份验证:如何处理未经授权的身份验证用户

来自分类Dev

用户第一次使用 Laravel PWA 登录成功时如何处理身份验证?

来自分类Dev

WPF-WebAPI客户端-如何处理身份验证密码

来自分类Dev

Spring Security 3.1中如何处理不同的身份验证异常?

来自分类Dev

如何处理软件中心中的“未经身份验证的源”错误?

来自分类Dev

如何处理软件中心中的“未经身份验证的源”错误?

来自分类Dev

如何处理 Spring Boot 中最基本的用户身份验证?

来自分类Dev

如何处理屏幕外显示的QDialog?

来自分类Dev

Django,自定义身份验证登录。身份验证失败时如何显示错误消息?

来自分类Dev

如何禁用Gnome屏幕保护程序的“身份验证失败时摇晃密码对话框”?

来自分类Dev

Angular:处理重新加载页面和用户身份验证

来自分类Dev

我无法安装应用程序,因为我不知道如何处理身份验证对话框

来自分类Dev

如何在页面重新加载时在AngularJS中保留REST身份验证凭据?

来自分类Dev

react-router redux我如何在页面加载时更新状态以进行身份验证

来自分类Dev

如何在不登录的情况下在页面加载时对用户凭据进行身份验证

来自分类Dev

在处理HTTP身份验证时,如何在URL上使用特殊字符(密码)?

来自分类Dev

处理身份验证过滤器时收到错误

来自分类Dev

在PHP中使用HTTP基本身份验证时如何在后台显示图像

来自分类Dev

cakephp 4-身份验证2-未识别时如何显示消息

来自分类Dev

在PHP中使用HTTP基本身份验证时如何在后台显示图像

来自分类Dev

如何使用ServiceStack for SPA网站处理身份验证?

来自分类Dev

如何使用 react-router 处理身份验证?

来自分类Dev

ShinyManager 身份验证屏幕不会超时

Related 相关文章

  1. 1

    运行代码时如何处理“身份验证/用户未找到”?

  2. 2

    密码包含“#”时如何处理身份验证弹出窗口

  3. 3

    MEAN js如何处理身份验证?

  4. 4

    如何处理Firebase身份验证错误?/迅捷/ Firebase

  5. 5

    如何处理多个身份验证提供程序(firebase)

  6. 6

    openAM 如何处理身份验证请求?

  7. 7

    表单身份验证:如何处理未经授权的身份验证用户

  8. 8

    用户第一次使用 Laravel PWA 登录成功时如何处理身份验证?

  9. 9

    WPF-WebAPI客户端-如何处理身份验证密码

  10. 10

    Spring Security 3.1中如何处理不同的身份验证异常?

  11. 11

    如何处理软件中心中的“未经身份验证的源”错误?

  12. 12

    如何处理软件中心中的“未经身份验证的源”错误?

  13. 13

    如何处理 Spring Boot 中最基本的用户身份验证?

  14. 14

    如何处理屏幕外显示的QDialog?

  15. 15

    Django,自定义身份验证登录。身份验证失败时如何显示错误消息?

  16. 16

    如何禁用Gnome屏幕保护程序的“身份验证失败时摇晃密码对话框”?

  17. 17

    Angular:处理重新加载页面和用户身份验证

  18. 18

    我无法安装应用程序,因为我不知道如何处理身份验证对话框

  19. 19

    如何在页面重新加载时在AngularJS中保留REST身份验证凭据?

  20. 20

    react-router redux我如何在页面加载时更新状态以进行身份验证

  21. 21

    如何在不登录的情况下在页面加载时对用户凭据进行身份验证

  22. 22

    在处理HTTP身份验证时,如何在URL上使用特殊字符(密码)?

  23. 23

    处理身份验证过滤器时收到错误

  24. 24

    在PHP中使用HTTP基本身份验证时如何在后台显示图像

  25. 25

    cakephp 4-身份验证2-未识别时如何显示消息

  26. 26

    在PHP中使用HTTP基本身份验证时如何在后台显示图像

  27. 27

    如何使用ServiceStack for SPA网站处理身份验证?

  28. 28

    如何使用 react-router 处理身份验证?

  29. 29

    ShinyManager 身份验证屏幕不会超时

热门标签

归档