2013-08-06 1 views
3

내 Windows 인증은 IIS7에서 작동하지만 이제는 SQL Server에있는 데이터를 기반으로 특정 사용자를 거부하려고합니다.Windows 인증 - 코드를 사용하여 사용자를 거부하는 방법

정보 액세스를 거부 할 수 있지만 다른 자격 증명을 입력하기 위해 사용자에게 Windows 로그인 양식을 보내려고합니다. 따라서 IIS는 새 자격 증명을 인증하고 C#으로 보내 사용자를 다시 인증 할 수 있습니다.

편집 - 질문 I 데이터베이스 데이터를 기반으로 모두 Windows 인증 및 인증을 사용하려면

을 바꿔합니다. 먼저 Windows 인증을 통해 사용자를 인증 한 다음 응용 프로그램이 사용자를 인증하도록합니다. 하지만 내 질문은 응용 프로그램이 사용자를 거부하면 Windows 자격 증명 대화 상자가 처음부터 프로세스를 시작하도록 Windows 인증 대화 상자를 표시하도록하려는 경우입니다.

+0

맞았습니까? Windows 인증 (도메인 사용자)을 사용하지 않고 데이터베이스의 데이터만으로 사용자의 유효성을 검사하고 싶습니다. 아니면 두 가지의 혼합? –

+0

@ Kai Hartmann 나는 둘의 혼합을 원한다. 나는 Windows 인증으로 사용자의 유효성을 검사하고 데이터베이스의 데이터를 기반으로 인증을 수행하려고하지만 사용자가 다른 웹 사이트에 대해 다른 Windows 자격 증명을 요청하고 프로세스가 시작될 때 –

+0

흠이 도움이 될 수 있습니다. http : //mvolo.com/iis-70-twolevel-authentication-with-forms-authentication-and-windows-authentication/ –

답변

0

하나.

처음에는 Windows 인증을 통해 사용자를 인증하고 다른 기준이 사용자 액세스를 만족하지 못하면 사용자는 자신의 로그인 양식을 보내고 LDAP 쿼리를 사용하여 사용자를 인증 할 수 있습니다.

0

데이터베이스의 정보를 사용하여 인증하려면 폼 인증을 사용해야합니다. 당신이 가지고 가야 단계는 다음과 같습니다

  • 당신의 Web.config에 넣고

    • 빌드 로그인 - 웹 페이지 (이 예에서는 login.aspx) 로그인 페이지를 지정하고 모든 사용자에 대한 액세스를 거부하는 처음 :

    코드 :

    <authentication mode="Forms"> 
        <!-- Login.aspx is the login page forms authentication should use. --> 
        <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH" timeout="30" slidingExpiration="true" > 
        </forms> 
    </authentication> 
    <authorization> 
        <!-- deny all users access to ressources of this app, if not logged in. --> 
        <deny users="?" /> 
    </authorization> 
    
    뒤에 코드의 로그인 페이지에서
    • , 미국을 수 있도록이 전화 어 통과 :

    코드 : 당신이 당신의 자신의 로그인 폼을 만들고 LDAP 쿼리를 사용하여 사용자를 인증한다 할 수있는 방법의

    FormsAuthentication.SetAuthCookie("UserName", False) 
    
  • +0

    둘 다 혼합하고 싶습니다. –