2011-05-09 3 views
0

사용자 이름, 암호 및 멤버 유형 등 세 가지 값을 저장하는 테이블 사용자가 있습니다. 테이블에 저장된 사용자 이름이 고유하고 따라서 데이터베이스에 삽입 요청을 보내고 오류를 포착하는 대신 클라이언트 쪽에서 유효성 검사를 수행하려고합니다.엔터티 프레임 워크를 사용하여 특정 레코드를 검색하는 방법

그래서 데이터베이스에서 사용자 이름과 암호가 모두 들어있는 단일 레코드를 검색하여 코드에서 비교 목적으로 사용할 수 있도록하고 필요하면 유효성 검사 오류를 발생시킵니다.

내 매니저는 그 라인을 따라 입력 내가 그 ** 암호 ** 해시 있다는 _hope_

+2

좋은 것, 그래서 나 저장 프로 시저를 사용하고 싶어하고, 소금 또는 (더 나은)를 사용'bcrypt을 포함 '. – SLaks

+0

기본 제공 ASP.NET 멤버십 기능을 사용하지 않는 이유는 무엇입니까? 심지어 모든 것을 위해 저장 프로 시저를 사용합니다! –

+0

@ SLaks, 암호가 SHA1 인증을 사용하여 해시되었습니다. 암호를 검색하고 사용자가 데이터베이스에 존재 함을 확인한 경우 해시 된 사용자가 입력 한 암호와 대조합니다. 특정 사용자를 얻으려고하는 것입니다. id @Joel C 내가 일하는 사람은 내가 만든 asp.net 멤버십 기능을 사용하지 않으려 고하므로 자체 정의 된 필요성이 필요합니다. –

답변

0
public static bool IsUserExists(string userName, string hashedPassword) 
{ 
    bool result = false; 

    using (MyEntities entityContext = new MyEntities()) 
    { 
    result = (entityContext.User.Count(u => u.username == userName && 
              u.password == hashedPassword) == 1); 
    } 

    return result; 
} 
관련 문제