如何解决Single Spa:在路由前检查用户权限
我正在开发一个单一的 SPA 应用程序,该应用程序基本上具有到另一个 MFE(微前端)的路由映射。
我确实可以访问某些 MFE 的来源,但在路由到我应该检查用户权限的 MFE 之前,我没有拥有一个 MFE(假设是“A”)。
因此,任务是:如果用户具有必要的权限,则将其路由到 MFE“A”,否则将其路由到“访问被拒绝页面”。
我试图在互联网上找到一些解决方案,大多数答案都建议对 MFE “A”(对我来说是强加的)执行权限检查。
我发现有一个事件叫做“single-spa:before-routing-event”。
我正在考虑以下解决方案:
window.addEventListener(
'single-spa:before-routing-event',({ detail: { oldUrl,newUrl,cancelNavigation } }) => {
if (
new URL(oldUrl).pathname === “/MFE/a” && !userHasPermissions()
) {
cancelNavigation();
window.location.href = “http://localhost:8080/accessDeniedPage”
}
},);
如果有人可以查看解决方案并让我知道它是一个好的解决方案还是有任何其他方法,将会非常有帮助吗?
先谢谢你!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。