2012-11-26 3 views
0

사용자 지정 인증을 사용하여 WCF 서비스를 구현했는데 UsernameAuthentication 클래스에 사용자 이름과 암호의 상수 문자열을 전달하고 메서드를 확인하고 거기에서 유효성을 검사하면 올바르게 작동합니다. 하지만 동적 사용자 이름, 암호를 전달하고 유효성을 검사 할 수있는 방법이 있습니까? 어떻게 구현하고이 클래스의 해당 값에 액세스 할 수 있습니다. 당신이 당신의 자신의 사용자 데이터베이스를 조회하고 사용자 이름과 암호가 유효한지 확인해야합니다 Validate 방법 내부동적 사용자 이름과 암호를 사용하는 WCF 사용자 지정 인증

class UsernameAuthentication : UserNamePasswordValidator 
    {   
     public override void Validate(string userName, string password) 
     {    
      var ok = (userName == "DynamicUserName") && (password == "DynamicPassWord"); 
      if (ok == false) 
       throw new AuthenticationException("u/p does not match"); 
     } 
    } 

답변

0

. 일반적으로 모든 사용자 데이터가 저장되는 RDBMS 또는 XML 파일을 사용합니다.

역할 기반 보안을 지원하는 데이터베이스 스키마의 예는 ASP.NET's Membership입니다. 더 나아가 ASP.NET의 Membership과 WCF를 통합 할 수 있습니다. 이 article의 "공공 웹 호스팅 서비스의 액세스 제어 및 사용"을 살펴보십시오. 또한 Resnick, Crane 및 Bowen의 Essential WCF 보안에 대한 장을 읽고 WCF 서비스에서 인증/권한 부여를 지원하는 다양한 방법을 설명합니다.

+0

나는 실제로 db를 질의 할 수 없다. 나는 사용자가 서비스를 요청할 때마다 생성되는 토큰 값을 가지고있다. 그 토큰을 전달하고 호출 할 때 유효성을 검사해야합니다. 나는 누군가가 이것을 이전에 구현했다면 서비스 헤더 나 캐시에 보낼 수있는 방법을 찾고 있었다. – user1663996

관련 문제