我在主 Web 应用程序下的一个文件夹中运行最新版本的 YetAnotherForum。该子文件夹在 IIS 中配置为一个应用程序,导航到该文件夹并登录时效果很好。 YAF 是通过成员(member)提供程序设置的,并使用表单例份验证。
我现在要做的是让用户从主网站自动登录到论坛。主网站通过 session 和 cookie 使用自定义身份验证。它不使用任何内置的 ASP.NET 身份验证或成员资格组件。
所以基本上我想要发生的是,当用户单击链接访问论坛时,他们将被发送到一个处理页面,该页面在将他们发送到子文件夹之前对他们进行身份验证以进入 YAF 应用程序。
即使主应用程序不使用内置的身份验证部分,我仍然将身份验证模式设置为表单,并确保下面的标签与 YAF web.config 中的标签相匹配。然后,在处理页面上我调用 FormsAuthentication.SetAuthCookie(username, true),然后重定向。但无论如何,YAF 都会将我踢回登录页面。不确定从这里去哪里。
主要站点是: 示例.com/
网络配置:
<authentication mode="Forms">
<forms name=".YAFNET_Authentication" protection="All" timeout="43200" cookieless="UseCookies" />
</authentication>
YAF 是: example.com/yaf(IIS 中的独立 Web 应用程序)
网络配置
<authentication mode="Forms">
<forms name=".YAFNET_Authentication" protection="All" timeout="43200" cookieless="UseCookies" />
</authentication>
处理页面是:(伪) example.com/autoLogin.aspx.cs
public void AutLogin(){
string userName = doStuffToGetUsername();
YAFStuff.CreateUserIfNeeeded(userName);
FormsAuthentication.SetAuthCookie(userName, true);
Response.Redirect("/yaf/");
}
最佳答案
我已经在 Google 上搜索了 2 天,试图解决这个问题,但我最终偶然发现了解决方案。我需要一个与两个 web.config 文件匹配的 MachineKey 来进行加密过程。
太棒了!
关于asp.net - 从主 Web 应用程序自动登录到另一个 ASP.NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2185228/