몇 가지 프로젝트에서이 작업을 수행합니다. 여기에 우리가 어떻게 수행했는지 요약되어 있습니다. 단 하나의 방법 일 뿐이며, 자체 멤버십 공급자를 작성하는 데 성공했습니다.
우리는 3 개 주요 프로젝트가 :
- Data.project - 클래스 라이브러리
- WebApp.project - MVC 응용 프로그램
- API.project - 우리는 내장 사용 WCF 서비스
을 닷넷 멤버쉽 제공자는 상자에 들어있는 그대로 존재합니다. 이를 통해 MVC 및 API 프로젝트에서 기본 등록, 비밀번호 변경, 역할 관리, 쉬운 컨트롤러 기반 역할 권한 및 액세스 제어 기능을 사용할 수 있습니다.
기본 멤버 자격 공급자는 자체 테이블을 사용하여 사용자 데이터를 저장합니다.
그런 다음 사용자의 .NET membershipId에 대한 외래 키를 사용하여 사용자 및 프로필 테이블과 데이터 구조를 만듭니다. 따라서 우리는 사용자 프로필로 수행해야하는 모든 응용 프로그램 관련 작업을 수행하면서 동시에 기본 공급자에 대한 액세스를 제공 할 수있는 유연성을 제공합니다.
인증은 MVC 프로젝트에 정직, 이제 사용자 이름과 암호로 인증하기 위해 .NET 회원의 방법을 사용할 수 있습니다 : 당신이하고 FormsAuthentication의 고급 스러움이없는 WCF 프로젝트
if(Membership.ValidateUser(username,password)){
FormsAuthentication.SetAuthCookie(username,password);
}
하지만, 여전히 기본 멤버 자격 공급자를 사용하여 사용자 자격 증명의 유효성을 검사 할 수 있습니다.
당신과 당신의 프로젝트에 따라 다르지만 기본적으로 필요한 인증을 처리하는 방법은 일반적으로 인증 후에 WCF 서비스가 반환하는 인증 토큰을 사용합니다. 이 토큰은 일반적으로 요청 헤더에 유효성이 확인되었음을 증명하기 위해 각 WCF 요청에 포함됩니다.
우리는 서버에 자격 증명을 제출할 때 다음 성공하면 우리는 인증 토큰을 다시 전달 64 인 코드 사용자 이름과 암호를 기반으로 WCF를 들어
: 구축이 등록시
string decoded = System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(Authmodel));
//convert your string into your authentication model here then
if(Membership.ValidateUser(model.user,model.pass))
{
//return new authentication token
}
우리는 또한 추가 로직을 포함하는 우리의 이 시점에서 독점적 인 사용자 및 프로필 테이블은 데이터 프로젝트에서 처리되므로 WCF와 MVC가 모두 액세스 할 수 있습니다.
또한 데이터 프로젝트는 사용자 테이블과 .NET 멤버십 공급자 테이블 간의 연결을 처리하므로 두 응용 프로그램 모두에서 정보에 액세스 할 수 있습니다.
나는 이것이 모두 모호하다는 것을 알고 있지만 어쩌면 통합 된 방식으로 인증을 처리하기위한 하나의 옵션을 생각하는 데 도움이 될 수 있습니다. 특정 부분에 관해 궁금한 점이 있으면 알려주십시오.이 정보가 도움이되기를 바랍니다.
많은 사람들이 죽는 것은 무엇을 의미합니까? 하루에 1000? 100000? –