0
mvc 프레임 워크를 사용하여 폼 인증을 시도하고 있지만 로그인 및 페이지에서 URL 및 로그 아웃을 복사하고 다른 브라우저 또는 탭에서 열면 로그인 페이지로 가야하지만 페이지로 리다이렉트됩니다. 먼저 인증을 받아야 함을 의미합니다. 즉, 인증 없이는 로그인 페이지에 직접 들어갑니다. . 모든 도움이 필요합니다. 여기 mvc 프레임 워크와 폼 인증
<!--Using forms authentication-->
<location path="Content">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<!-- allow any user to see the login controller -->
<location path="~/Developer/Index">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<authentication mode="Forms">
<forms name=".ASPXFORMSAUTH" loginUrl="~/Developer/Index" timeout="2880" />
</authentication>
And in my controller login Action method i used
[HttpPost]
public ActionResult LoginAPI(LoginAPIFormModel loginapp)
{
if (!ModelState.IsValidField("username") || !ModelState.IsValidField("pwd"))
{
if (!ModelState.IsValidField("username"))
{
ModelState.AddModelError("username", "Invalid Email");
}
else
{
ModelState.AddModelError("Incomplete", "Please fill out each field");
}
return View(loginapp);
}
try
{
var context = new ndCorp_SiteEntities();
var Hashpwd = CreateHash(loginapp.pwd);
var res = context.DevUserInfoes.Where(i => i.UserName == loginapp.username && i.USerPwd == Hashpwd).FirstOrDefault() ;
TempData["mode"] = "LoginAPI";
FormsAuthentication.SetAuthCookie(loginapp.username, false);
return RedirectToAction("SuccessView");
}
catch (Exception ex)
{
Console.Write(ex);
return View(loginapp);
}
}
실제로 로그인 후 사용자 PAG로 리디렉션 자바 스크립트 코드입니다 : 여기
웹 설정에 대한 내 설정이다
if (@Html.Raw(Json.Encode(TempData["mode"])) == "LoginAPI")
{
parent.closeFancybox();
//setTimeout(parent.closeFancybox(), 1000)
//window.top.closeFancybox();
var url = '@Html.Raw(Url.Action("ManageApps", "Developer", new { username [email protected](Json.Encode(TempData["uname"]))}))';
url = url.replace(/%22/g,'');
parent.location.href = url;
}
조금 더 구체적으로 작성하고 코드를 게시 해보십시오. 또한 "작동하지 않음", 오류 코드 또는 오류 메시지의 의미를 설명 할 수 있습니까? –
나는 더 많은 코드를 사용하여 내 쿼리를 다시 게시했습니다 ... 어떤 오류도 발생하지 않지만 로그인 후 URL을 복사하면 url은 인증없이 브라우저 나 탭에서 작동합니다. 내 응용 프로그램에서 logogg하지만 http : // localhost : 54971/en-us/Developer/ManageApps를 여는 경우이 URL은 작동하지 않아야합니까? username = test – user207888