asp.net-core – 提供Google身份验证背后的静态文件
我想使用
Gatsby创建一个静态生成的站点.这一切都很好,但我希望有适当的身份验证和授权,因为这是一个内部站点 – 它只能由我公司的人员访问.我想到了这一点,如果没有一些服务器组件,在没有某种后端的情况下安全地验证用户是不可能的(?).我以为我可以使用ASP.NET Core来提供静态文件,并在这些静态文件前面进行Google(for Work)身份验证和授权.
它看起来像StaticFileHandler doesn’t support authorization by design,因为它只负责提供可公开访问的静态文件.我设法通过使用我的root操作上的Authorize属性(侦听’/’)以及发出挑战的登录操作来使Google身份验证正常工作,并且用户将被重定向到Google进行身份验证.进一步阅读处理静态文件的文档说:
所以现在我的HomeController上有一个Index动作,如下所示: [Authorize] public IActionResult Index() { // TODO: Return static files based on incoming requested path. return View(); } 我对这个解决方案不是很满意.我应该使用中间件而不是使用MVC吗?这甚至是正确的方法吗?有没有更好的方法来做到这一点? 解决方法
Gatsby将生成一个静态内容文件夹,它没有任何授权概念.
我建议您需要在不同的层处理身份验证.例如,您可以在Web服务器层添加简单的基本授权标头要求.这在nginx或apache中是微不足道的. 在您的Gatsby项目中构建身份验证要么会破坏静态站点的目的,要么意味着您的内容可以作为JSON文件公开访问,但除非满足某些授权要求(不安全),否则您的React应用程序将拒绝加载它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 在MVC3区域中使用Webform
- C#中 Request, Request.params , Request.querystring , R
- 在ASP.NET MVC中检索当前视图名称?
- 【DevExpress v17.2新功能预告】增强ASP.NET GridView的功能
- asp.net-mvc – 在MVC3中使用Workflow Foundation来处理页面
- ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)
- asp.net – 什么时候调用Application_End,我该如何手动导致
- asp.net-mvc – asp.net MVC DisplayTemplates和EditorTemp
- asp.net – 捆绑css工作但字体没有加载
- asp.net-mvc-4 – .NET MVC4 SimpleMembership错误 – “未