好的我已经做了足够的研究,但无法找到解决方案。它从应用程序的一个页面到另一个应用程序页面。因为我会发送用户名和密码我不能发送它作为“getT”所以我需要做一个“帖子”。我将使用ssl - 不确定这是否有帮助.. 所以我不能在不同的应用程序上使用会话,并使用像databsae这样的共享会话是性能杀戮 此外,一旦用户点击源页面上的链接,我需要做一些后期处理,然后想要发布到其他页面,所以使用表单和东西不会工作..
任何帮助
fyi:我想要实现的是一个人登录应用程序A时,他们点击一些链接,我没有一些处理,并希望将它们转移到应用程序B,他们不必在应用程序B中重新登录,而是自动登录..
答案 0 :(得分:2)
我们使用Global.asax做同样的事情。假设两个Web应用程序都使用相同的业务域。您可以使用以下命令在我们的业务域中设置登录用户。然后,您可以使用该属性的存在来了解不要再次在第二个Web App上登录。
/// <summary>
/// Event fires when an HTTP request is made to the application.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
// If we don't have a logged in user.
if (<BusinessDomain>.Constants.LoggedInUserID == null)
{
// Ensure that Context.Handler for this particular HTTP request implements an interface that uses a Session State.
if (Context.Handler is IRequiresSessionState || Context.Handler is IReadOnlySessionState)
{
if (Session != null)
{
// Set the currently logged in user in our Business Domain.
if ((Guid)Session["UserID"] != Guid.Empty)
{
<BusinessDomain>.Constants.LoggedInUserID = Session["UserID"];
}
}
}
}
}
答案 1 :(得分:1)
也许不是最好的解决方案,但你可以使用cookie。
答案 2 :(得分:0)
我认为您正在寻找Single Site Login解决方案。
答案 3 :(得分:0)
同意托马斯的说法,听起来是为单点登录解决方案而量身定做的。使用单一登录的多个网络应用程序,因此一旦您登录一个应用程序,您登录所有引用成员资格提供程序的应用程序..
希望有所帮助