问题
在创建帐户时,我希望用户以username.domain-name.com
的形式访问其个人资料我的网站功能如下:
username.domain-name.com/feature1
username.domain-name.com/feature2
username.domain-name.com/feature3
如果上述用户允许他访问,则上述链接可能包含其他用户可以访问的内容。
实施例:
user1.domain-name.com/feature1
,此处user1已授予user2访问权限
因此,user2已登录并访问user1.domain-name.com/feature1
他应该能够看到内容。
到目前为止我的研究:
我尝试了以下链接:
https://kadira.io/blog/meteor/sharing-meteor-login-state-between-sub-domains
https://github.com/jfrolich/meteor-subdomain-persistent-login
经过大量阅读后,我发现meteor有localStorage作为存储用户登录详细信息的方式。所以,我必须以某种方式设法将细节传递给子域。我也尝试在nginx配置中使用proxy_pass来执行以下操作:
请求:
应代理username.domain-name.com/feature1
(不重定向网址相同)domain-name.com/username/feature1
如果有人对这种方法有所了解,我应该使用这对我有用。
我知道这个设计可能不适合搜索引擎。
更新
我现在成功使用以下设计: 如果user1登录domain-name.com并想访问他自己的个人资料页面,如user1.domain-name.com/profile。
步骤1:user1访问user1.domain-name.com/profile它重定向到domain-name.com,其中user1在localstorage中有会话然后读取HTTP头引用我得到user1.domain-name.com/profile并准备新的url : user1.domain-name.com/profile?token=userToken(我可能会在db中创建另一个临时令牌,只需单击一下exp。)
步骤2:使用get参数重定向到新网址user1.domain-name.com/profile?token=userToken我在localstorage中创建新会话,并将user1重定向回user1.domain-name.com/profile.
这是非常规的解决方案,我仍然在重新寻找。