내가 Response.Redirect("tothepageIwant.aspx");
TT하려고 할 때마다 나를 ~/Account/Logon.aspx
및 재
에 걸립니다? PrincipalContext.ValidateCredentials
을 사용하여 양식 인증을 사용하여 사용자 지정 인증 방법을 사용하고 있습니다.
자격 증명이 유효하면 리디렉션하고 싶습니다. 사용자가 접속할 수 있도록 허용하고있는 페이지로 응답합니다.
대신 성공적으로 로그인하면 이전 Account/Logon.aspx
으로 리디렉션됩니다.
제안 사항? 사용자 정의 인증 방법으로 양식 인증을 사용할 때주의해야 할 사항은 무엇입니까?
EDIT (코드를 추가) :
protected void Submit1_Click(object sender, EventArgs e)
{
var auth = new AuthClass();
var result = auth.ValidateCredentials(UserEmail.Text, UserPass.Text);
if (result)
{
Response.Redirect("~/Members/RollReport.aspx");
}
else
{
Msg.Text = "Not authorized to access this page.";
}
}
public bool ValidateCredentials(string user, string pass)
{
using (var pc = new PrincipalContext(ContextType.Domain, "Domain.name"))
{
// validate the credentials
try
{
var isValid = pc.ValidateCredentials(user, pass);
if (isValid)
{
var isAuth = AuthorizeUser(user);
return isAuth;
}
else
{
return false;
}
}
catch (ActiveDirectoryOperationException)
{
throw;
}
}
}
private bool AuthorizeUser(string user)
{
var isAuth = false;
var authList = (List<string>)HttpContext.Current.Cache["AuthList"];
foreach (var id in authList)
{
if (id == user)
{
isAuth = true;
}
}
return isAuth;
}
우리가 잘못 가고있는 곳을보기 위해서 ..'Global.asax' 파일의'OnSessionStart()'이벤트에서 PrincipalContext를 적절히 사용하여 초기화하는 세션 변수를 사용하면 더 쉽게 할 수 있습니다. – MethodMan
인증으로 편집 됨 메소드 코드. – terbubbs
반드시 인증하는 데 문제가있는 것은 아닙니다. 솔직히 말해, 내 사용자 지정 메서드로 양식 인증을 사용하는 것이 맞는지 잘 모르겠습니다. – terbubbs