首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >验证两个不同站点的用户同步超时

验证两个不同站点的用户同步超时
EN

Stack Overflow用户
提问于 2013-09-11 03:55:20
回答 1查看 59关注 0票数 1

我一直对此感到困惑,想不出一个好办法。我正在开发一个网站,将要求用户登录使用该系统。我正在考虑使用内置于身份验证中的ASP.NET MVC 4。这没什么问题。

用户可以在另一台服务器上使用工具(我们的服务器将对他进行身份验证并告诉另一个网站,他很好,这些消息是通过使用XML的HTTPS传递的)。另一台服务器要求我们创建一个身份验证令牌,供用户在我们之间传递消息时使用。

我们需要将令牌保存在数据库中,以便与其他服务器验证每个请求/响应。这意味着,这个“令牌表”对我们服务器上的表单身份验证超时和反向消息一无所知。

现在的问题是,假设用户使用其他服务器的工具。他会在另一个服务器上呆很长一段时间,这将导致我们服务器上的身份验证将他注销,因为似乎没有任何活动。另一台服务器不会将他注销,因为我们正在手动维护令牌。这对用户来说将是一个麻烦,因为现在,如果他需要使用我们的服务,他将不得不再次登录,即使他一直“在线”。

有办法“同步”这两个身份验证吗?起初,我想让我们的服务器查找“令牌表”(而不是使用内置的身份验证),这样如果最后一次活动是x之前,用户将需要再次登录,这将解决我们的服务器不及时的注销问题。但我担心的是安全问题。

做这件事最好的方法是什么?

谢谢。

德斯蒙德

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-11 04:57:05

如果我正确地理解了您的意思,那么您正在使用表单认证在MVC4应用程序中对用户进行身份验证,但是用户也将使用位于不同服务器上的另一个web服务,因此在使用其他服务器时,您不希望MVC4应用程序的身份验证(对于用户)超时。对吗?

如果是这样的话,脑海中浮现的一个想法是,您的MVC4应用程序可以有一个到外部世界的API,该API将接收用户名并使用RenewTicketIfOld()刷新与票证相关的计时器。您可以通过另一个web服务器发出HTTP请求,或者简单地在页面上放置一些AJAX来调用每个页面上的API。

当然,您需要考虑这种方法的安全性问题。在不了解你的情况的情况下,我不知道什么是最好的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18732400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档