2009-09-08 46 views
0

我目前有三个网站都来自同一个DB跨网络的域登录

例如网站上运行:

  • www.mysite.com
  • admin.mysite.com
  • members.mysite.com

,因为现在这一切都运行˚F从一个数据库他们都使用相同的.NET会员表。

  • 所有成员都在一个作用:会员
  • 所有管理员都在一个角色:管理员

因此管理员可以登录到管理界面并访问所有管理功能等,但成员如果他们试图登录管理区域会弹出回登录屏幕而没有任何消息,我想要发生的是将他们重定向到该网站:members.mysite.com并让他们登录。

As我可以将它们发送到管理站点的一个页面,该页面执行response.redirect('http://members.mysite.com');但他们必须再次登录。

那么有没有什么好的方法来做到这一点,或者我是否用querystring做了一些不安全的操作?

回答

0

只要你使用一个独特的'一次性令牌',在用来执行登录操作之后被删除(这就是Google的做法),Querystring就可以了。

编辑 - 基本步骤是

  1. 在数据库中生成一个加密的安全令牌
  2. 商店令牌/用户名组合
  3. 重定向到新的网站标记= XXXXXXXXXXXXXXXX
  4. 新站点看到令牌,?在数据库中查找匹配的用户名并删除令牌
  5. 以该用户身份执行登录过程
+0

任何想法如何做到这一点,因为我会直接做到这一点,将发送一个加密版本的用户名和密码,但这是非常糟糕的 – JamesStuddart

+0

非常感谢,认为这就是你的意思,但想要确保;确定。 – JamesStuddart

+0

只是想我会留下一个评论,说这是一个很好的方式来做到这一点,它可以无缝工作,一些繁琐的web服务,但它的一切都很好,谢谢 – JamesStuddart