2011-10-19 6 views
0

나는 C# .net을 사용하여 asp.net 웹 응용 프로그램을 작성 중입니다. 양식 인증을 완료했습니다.이 인증은 응용 프로그램에 매우 적합합니다. 이제 관리자에게 액세스 할 페이지가있는 섹션 관리 폴더가 하나 더 있습니다. 제 질문은, 정상적인 사용자가 내 사이트에 올 때 그가 내가 한 user/login.aspx에 액세스 할 때 formauthentication.redirectFromloginpage (....) 괜찮습니다.두 개의 web.config 또는 두 개의 loginURL 또는 두 개의 DefaultURL을 사용하는 폼 인증 구현

이제 admin 섹션에 액세스해야 할 때 admin은 admin/login.aspx에 액세스합니다.이 섹션의 내부 페이지로 리디렉션되고 formauthentication이 완료되지 않았습니다.

관리자가 시스템에서 유효성을 검사하는 경우 formauthentication을 구현하려고하지만 로그인 후에 리디렉션해야하는 다른 페이지가됩니다.

제 질문은, 내 시나리오에서 작동하는 두 개의 다른 loginURL 또는 DefaultURL을 만드는 방법입니다.

또는 별도의 관리자/login.aspx 필요가 정말 없다

답변

1

(???? 두 가지의 Web.config를 사용하고있을 수 있습니다) 다른 방법.

일반 사용자와 관리자에게 동일한 로그인 페이지를 사용할 수 있습니다. 역할을 사용하여 관리자와 일반 사용자를 분리하십시오. 관리자 역할이없는 사용자의 관리자 페이지에 대한 액세스를 거부하면 모든 설정이 완료됩니다.

업데이트 : 다른 페이지로 리디렉션하려는 경우 로그인 컨트롤의 LogggedIn 이벤트를 사용하십시오.

If (Roles.IsUserInRole(User.Identity.Name, "Admin")) 
{ 
    Response.redirect(....); 

} 
+1

한 페이지를 사용하는 경우 시스템이 기본 페이지로 리디렉션되는 것보다 잘못된 트랙에있는 것 같습니다. 두 경우 모두 다릅니다. 일반 사용자는 "home.aspx"를 갖는 반면 admin은 " –

+0

과 같은"users.aspx "를가집니다.이 경우 LoggedIn 이벤트를 처리하십시오. 내 업데이트를 참조하십시오. – Pleun

+0

예,이 솔루션을 알고 있지만 이것이 Formauthentication이 아닙니다. ... 그런 솔루션은 이미 구현되고 작동합니다. –

관련 문제