使用.net成员身份跨域登录

时间:2009-09-08 10:49:42

标签: asp.net-membership

我目前有三个网站都在同一个数据库中运行

示例网站:

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

现在因为这一切都来自一个数据库,所以它们都使用相同的.net成员资格表。

  • 所有成员都在担任:会员
  • 所有管理员都有一个角色:管理员

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

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

那么有没有什么好方法可以做到这一点,或者我是否因为使用查询字符串做了一些不安全和黑客的事情?

1 个答案:

答案 0 :(得分:0)

Querystring只要您使用一个独特的“一次性令牌”,在用于执行登录后就会被删除(这就是Google的做法)。

编辑 - 基本程序

  1. 生成加密安全令牌
  2. 在数据库中存储令牌/用户名组合
  3. 使用?token = XXXXXXXXXXXXXXXX
  4. 重定向到新网站
  5. 新网站会看到令牌,在数据库中查找匹配的用户名并删除令牌
  6. 以该用户身份执行登录程序
相关问题