2010-05-03 3 views
0

Windows 인증과 Asp.Net MVC를 사용하는 작은 인트라넷 앱을 작성하고 있습니다. 각 사용자에 대해 db에 다양한 데이터 비트를 저장해야합니다. IPrinciple 객체가 고유 한 ID와 같은 것을 가지지 않는다고 말할 수있는 한. 그래서 User.Identity.Name을 고유 한 값으로 사용하여 db의 행을 식별 할 수 있다고 생각했습니다. 이것은 나쁜 생각입니까? 이 접근법에 대한 대안이 있습니까?사용자의 행을 식별하기 위해 IPrinciple.Identity.Name을 데이터베이스의 키로 사용합니다.

도움 주셔서 감사합니다.

답변

1

ID 열이 ID로 포함 된 사용자 테이블을 만들 것입니다. 사람이 사이트에 액세스 할 때 해당 개인 ID에 대한 사용자 테이블을 검사하고 존재하는 경우이를 읽거나 사용자가 새로운 경우 새 행을 삽입합니다.

로그인 이름이 길어질 수 있으며 예상되는 데이터 크기에 따라 색인에 영향을 줄 수 있습니다.

+0

네, 제가 생각한 것입니다. 실제로 IPrinciple.Identity 객체의 일부가 db에 저장되어야합니다. 즉, 사용자 테이블에서 사용자를 조회하기 위해 사용해야하는 것은 무엇입니까? 답변을 주셔서 감사합니다 - 많이 감사합니다. – bplus

관련 문제