Hej,
do swojego projektu chce wsadzić forum. Znalazłem bardzo fajny projekt: http://www.mvcforum.com/ ściągnąłem, trochę się tym pobawiłem i jest fajne.
Problem zaczyna się gdy chce wprowadzić swoją funkcjonalność. A konkretnie zależy mi na tym aby logować automatycznie użytkownika na forum w momencie gdy loguje się i do mojego systemu.
Tworzę model (taki sam jak oni w projekcie używają do logowania) i go wysyłam: forum go odbiera w funkcji do logowania, ale niestety użytkownik nie zostaje zalogowany :(
Nie wiem czego to jest kwestia, może jakieś ciastka się nie zapisują? Albo może moje przekierowanie działa jak przeglądarka a ja nie obsługuje w kodzie ciastek?
Tutaj podaje kod który mam do przekierowania do tego forum:
public async Task<ActionResult> Forum()
{
string url = "http://localhost:9666/Members/Login"; //link do forum
Uri address = new Uri(url);
var postData = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("UserName", "admin"),
new KeyValuePair<string, string>("Password", "password"),
new KeyValuePair<string, string>("RememberMe", "False")
};
HttpContent content = new FormUrlEncodedContent(postData);
var cookieJar = new CookieContainer();
var handler = new HttpClientHandler
{
CookieContainer = cookieJar,
UseCookies = true,
UseDefaultCredentials = false
};
var client = new HttpClient(handler)
{
BaseAddress = address
};
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string body = await response.Content.ReadAsStringAsync();
//return new ContentResult { Content = body };
Uri uri = new Uri(url);
var responseCookies = cookieJar.GetCookies(uri);
foreach (Cookie cookie in responseCookies)
{
cookieJar.Add(cookie);
string cookieName = cookie.Name;
string cookieValue = cookie.Value;
this.Response.Cookies.Add(new HttpCookie(cookie.Name, cookie.Value){Domain = cookie.Domain, Expires = cookie.Expires});
}
return this.Redirect("http://localhost:9666/Home/Index"); new EmptyResult(); //Json(new { result = true }); //Redirect("http://localhost:9666");
}