Я запускаю последнюю версию YetAnotherForum в папке под моим основным веб-приложением. Подпапка настроена как приложение в IIS, и навигация в папку и вход в систему работает прекрасно. YAF настраивается с поставщиком членства и использует проверку подлинности с помощью форм.
То, что я сейчас пытаюсь сделать, - это автоматический вход пользователя в форум с основного сайта. Основной веб-сайт использует пользовательскую аутентификацию через сеансы и файлы cookie. Он не использует встроенные компоненты проверки подлинности или членства 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/");
}