我有一个AWS Lambda实例,它连接到定义的AWS API网关.如果我启用CORS并给出access-control-allow-origin定义http://example.com,那么我可以从中访问Lambda实例http://example.com.但是,如果我使用https://example.com它,它不起作用.
那么在AWS中,如何在access-control-allow-origin不使用通配符的情况下定义使用多个值?我尝试使用类似的东西*.example.com,但这不起作用.
编辑:如果我'*'在API网关上使用我的值,但在我的S3存储桶上设置CORS规则,那会安全吗?存储桶规则示例:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>https://example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>https://www.example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud) 我有一个登录页面,如果用户未经过身份验证(通过元标记身份验证),我将重定向到该登录页面,相反,如果用户已登录,如果他/她尝试访问登录页面,我将重定向到主页(通过元标记 guest)。经过身份验证的状态存储在 Vuex 中:
router.beforeEach((to, from, next) => {
if (to.matched.some(m => m.meta.auth) &&
!store.state.auth.authenticated) {
// If user is not authenticated, redirect to login page
next({
name: 'Login',
})
} else if (to.matched.some(m => m.meta.guest) &&
store.state.auth.authenticated) {
// If user is authenticated and on guest page, redirect to home
next({
name: 'Home',
})
} else {
next()
}
})
Run Code Online (Sandbox Code Playgroud)
我想做的是将我的登录页面设置为模态页面而不是登陆页面。我已经能够制作一个登录模式并在单击按钮时显示它,但是如果用户尝试访问需要身份验证的链接而不是访问,有没有办法让 vue-router 自动显示模式专门的登陆页面?