Автоматический вход в другое приложение ASP.NET из основного веб-приложения
Я запускаю последнюю версию YetAnotherForum в папке под моим основным веб-приложением. Подпапка настроена как приложение в IIS, и навигация в папку и вход в систему работает прекрасно. YAF настраивается с поставщиком членства и использует проверку подлинности с помощью форм.
То, что я пытаюсь сделать сейчас, - это автоматический вход пользователя в форум с основного сайта. Основной сайт использует пользовательскую аутентификацию через сеансы и куки. Он не использует никаких встроенных компонентов проверки подлинности ASP.NET или членства.
В общем, я хочу, чтобы, когда пользователь щелкает ссылку для доступа к форумам, он отправляется на страницу обработки, которая аутентифицирует их в приложении YAF, прежде чем он отправляет их в подпапку.
Несмотря на то, что основное приложение не использует встроенные элементы аутентификации, я все же установил режим аутентификации на формы и убедился, что тег под ним совпадает с тегом в YAF web.config. Затем на странице обработки я вызываю FormsAuthentication.SetAuthCookie(имя пользователя, true), затем перенаправляю. Но YAF все равно возвращает меня на страницу входа. Не уверен, куда идти отсюда.
Основной сайт: example.com/
web.config:
<authentication mode="Forms">
<forms name=".YAFNET_Authentication" protection="All" timeout="43200" cookieless="UseCookies" />
</authentication>
YAF: example.com/yaf (отдельное веб-приложение в IIS)
web.config
<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/");
}
1 ответ
Я искал в Google 2 дня, пытаясь разобраться в этом, но я наконец наткнулся на решение. Мне нужен был MachineKey, который соответствовал обоим файлам web.config для процесса шифрования.
Милая!