在几个网站之间共享数据

时间:2012-03-29 06:40:56

标签: asp.net c#-4.0

如果我有两个不同的应用程序在同一个解决方案下运行但是使用不同的数据库可以在这些应用程序之间共享用户凭据吗? web.config中除SSO和机器密钥以外的任何解决方案,其中身份验证基于默认的Asp.net数据库(我猜它称为成员资格数据库)

如果他们是一个解决方案,请你帮忙

1 个答案:

答案 0 :(得分:1)

它是两个单独的IIS网站吗?你有什么真正的要求?只是分享一些变量或将数据从一个应用程序移动到另一个应用程序?

我认为您最好考虑创建一个服务层来在站点之间接收和发送信息。这样,您最终可以毫不费力地将两个应用程序分离到不同的Web前端。

此服务层可以使用不同的技术(如XML Web Services,WCF)实现,也可以查看新的ASP.NET Web API http://www.asp.net/web-api


编辑:

从评论中明确我得到了更多信息: 你可以做两件事:每天使用某种机制安排同步(可能是xml导出/导入)。但是,如果您需要实时SSO,则只需在连接到身份验证数据库的Web服务器上创建服务,其中唯一的功能是对用户进行身份验证。类似于:bool validatecredentials(字符串用户名,字符串passwordHash)。如果您不是在谈论成千上万的身份验证请求,那么使用标准WCF或其他一些服务技术可以很好地执行这些请求。如果您正在讨论更大的系统或实现,您应该查看基于声明的身份验证,.NET有一种称为WIF的技术来实现它。它使用单独的STS(安全令牌服务)来发布令牌,其中包含用户是谁以及他可以做什么等等。