繁体   English   中英

是否可以在两个Web应用程序之间共享相同的身份验证信息?

[英]Is it possible to share the same Authentication information between two Web Applications?

我有两个项目。 一个是ASP.NET Mvc,另一个是Web API。

主要项目是Mvc之一。 但是我需要将请求重定向到Web API。 关于它的所有帖子都明确指出,为了重定向到另一个项目,它应该是Redirect到URL:

return Redirect("http://localhost:54270/"); //This calls the Get action in the Web API

但是问题是我正在Mvc中使用一个身份验证,我希望在所谓的Web Api Action中对其进行验证。 可能吗?

会话不同,因此无法检索此信息。 有什么方法可以在两个正在运行的站点之间共享相同的上下文? 还是错误的方法?

是的,可以做到。 在Webforms中,您可以将键设置为将哈希值散列为多个应用程序中的相同键。 只要它们在同一个域中,这就是您要做的全部。 我没有在MVC中尝试过,但是内部原理非常相似。 这有点麻烦,但是效果很好。

用这种简单的方法,您不能共享信息,而只能共享高级会话信息。 由于我没有在MVC中使用它,因此可能必须设置MAC设置或类似设置才能使其正常工作。 我没有时间看这个。 当我发现这可行时,开发人员仍在ASP领域中进行思考,因此他们在Session对象中遇到了一堆废话,我们必须对其进行同步。 您不应该遇到这个问题。

此方法不会共享会话的内容,但是如果正确使用MVC,那应该不会成为问题。

如果您想超越此范围,则可以使用多种方法来设置单一登录机制。 适用于ASP.NET Web表单的所有内容都应在MVC中工作,尽管您可能必须为Web表单所需的MVC中通常不会设置的项目添加一些代码。

如果您想更深入地了解它的工作方式,我将查找人们如何在ASP和ASP.NET中共享状态,因为这些页面通常具有更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM