如何将图像加载推迟到Oauth身份验证之后?

4szc88ey  于 2023-04-10  发布在  其他
关注(0)|答案(1)|浏览(121)

我继承了一个旧的MVC应用程序,它使用OAuth对Active Directory进行身份验证。我们的服务器管理员最近对服务器进行了一些更改,要求在应用程序开始加载之前完成身份验证。最终结果是应用程序试图在用户完成身份验证之前加载存储在服务器上的图像,因此当应用程序呈现时,图像是断开的链接。
我不太了解身份验证是如何工作的,但我需要将应用程序更改为在尝试加载图像之前等待身份验证。我如何才能完成此操作,最好是在后端?控制器是否可以在加载视图之前侦听某些内容?另一种方法可能是在身份验证后通过 AJAX 重新加载图像,但同样,我不知 prop 体要告诉Javascript听什么。

vfh0ocws

vfh0ocws1#

从分离架构的Web和API方面考虑这一点是值得的。
通常,JS和JPG文件等Web资源不受保护,因为它们不应泄露任何秘密。这可确保最佳性能,例如使用内容交付网络,以减少下载时间。它还允许呈现未经身份验证的页面,例如提示用户开始身份验证的页面。
只有对体系结构的API端的请求才应该受到保护。这意味着它们需要凭据-Cookie或令牌。对于网站,包含数据的HTML页面可以被认为是API资源。但网站通常不保护inage请求。
如果您希望避免在用户未经过身份验证之前提供图像,则可以通过从未经身份验证的视图中删除图像或从不需要凭据的位置提供一些图像来以这种方式构建视图。
可以通过API驱动的方式提供图像,通过在API JSON响应中返回它们的URL。然后使用Javascript更新DOM并设置img标签的src属性。不过,您应该避免这种非标准架构。

相关问题