2010-02-27 2 views
0

사용자 테이블을 작성하고 유지 관리하려고합니다. ASP.NET MVC 사이트에 액세스하는 모든 사용자는 Windows 인증을 통해 인증되므로 고유 한 사용자 이름이 바인딩됩니다. 사용자 이름을 다음에서 가져옵니다.Windows 인증을 사용하여 IIS 7.0에서 인증 한 사용자 테이블을 자동으로 유지 관리하는 방법

System.Web.HttpContext.Current.User.Identity.Name 

나는이 두 가지 방법을 사용할 수 있다고 생각합니다.

  1. 사용자 테이블 또는 사용자 테이블을 참조하는 테이블에 액세스 할 때마다 사용자가 없을 경우 사용자를 추가 할 수 있습니다. 사용자의 존재 여부를 확인하지 않으면 오류가 발생할 수 있습니다.
  2. 사용자가 사이트의 모든 페이지를 방문 할 때마다 해당 사용자가 db에 있는지 확인하고 존재하지 않는 경우 사용자를 추가하십시오. 모든 페이지 변경 사항을 확인할 때마다 많은 오버 헤드가 발생할 수 있습니다.

더 나은 솔루션과 구현 방법에 대해 알고 싶습니다.

답변

1

더 좋은 방법은 옵션 2와 비슷한 것이라고 생각합니다.
사용자가 페이지를 방문 할 때마다 세션 변수를 검사하여 해당 사용자가 DB에 대해 점검되었는지 확인하십시오. 세션 변수가 없으면 해당 사용자가 DB에 있는지 확인하고 필요하면 테이블에 사용자를 추가 한 다음 세션 변수를 설정하십시오.
그런 식으로 모든 요청에 ​​대해 DB를 치지 않아도됩니다.

관련 문제