2010-05-19 16 views
0

Dans IIS 7.5 sous Windows 7 Utilmate, j'ai une application qui est configurée pour l'authentification comme suit: Anonymous & de WindowsIIS 7.5 Qu'est-ce que je fais de mal?

Dans le site Web ASP.NET, je suis devenu l'authentification des formulaires et l'identité impersonate = true J'ai aussi refuser les utilisateurs anonymes.

<authentication mode="Forms"> 
</authentication> 
<identity impersonate="true"/> 
<authorization> 
<deny user="?"> 
</authorization> 

IIS se plaint. Qu'est-ce que je fais de mal ... Ce que je veux réaliser: Je veux l'utilisateur Windows connecté afin que je puisse construire un ticket FormsAuthentication et le passer à un STS passif. Donc dans IIS j'ai des fenêtres anonymes ... Si seules les fenêtres sont cochées, je ne peux pas aller sur la page Login.aspx car j'ai un paramètre supplémentaire à passer à partir de là. Alors maintenant, dans webconfig, je désactive les utilisateurs anonymes en disant deny user = "?" , donc il me laisse avec l'utilisateur Windows authentifié, mais en utilisant l'authentification par formulaires.Vous savez ce que je veux dire ??

http://msdn.microsoft.com/en-us/library/ff649264.aspx

Si vous voyez le tableau 4 IIS Windows pour IIS intégré puis en définissant Web.config 3e rangée, en conséquence WindowsIdentity est Domian \ Nom d'utilisateur fonctionne sur IIS .It 6.0 Win2003/IIS 5.1 sous XP

+0

Lorsque IIS se plaint, quel est le message d'erreur/code d'état? – Kev

+0

Je pense que vous devrez peut-être revoir la documentation d'authentification asp.net. Ce n'est pas une préoccupation triviale et devrait être entièrement compris, pas glaned d'un spectacle de 2 paragraphes, même si c'est juste. –

+0

http://msdn.microsoft.com/en-us/library/ff649264.aspx Si vous voyez Tableau 4 IIS Windows intégré pour IIS , puis Web.config définissant la 3ème ligne, en conséquence WindowsIdentity est Domian \ Nom d'utilisateur – chugh97

Répondre

0

Si Il s'agit d'une application qui tire parti de l'identité basée sur les revendications, la responsabilité de l'authentification des utilisateurs se trouve donc dans le STS lui-même, et non dans l'application.

Si vous configurez votre (Web) demande de faire confiance à un STS externe, votre mode d'authentification serait « Aucun » et vous auriez une section entière dans le fichier de configuration pour « Microsoft.IdentityModel » . Vous devez alors configurer l'adresse STS (l'attribut émetteur). Quelque chose comme ceci:

<microsoft.identityModel> 
<service> 
    <audienceUris> 
    <add value="https://aexpense-dev.adatum.com/" /> 
    </audienceUris> 
    <federatedAuthentication> 
    <wsFederation passiveRedirectEnabled="true" issuer="https://localhost/Adatum.SimulatedIssuer/" realm="https://aexpense-dev.adatum.com/" requireHttps="true" /> 
    <cookieHandler requireSsl="false" /> 
    </federatedAuthentication> 
    <serviceCertificate> 
    <certificateReference x509FindType="FindBySubjectDistinguishedName" findValue="CN=localhost"/> 
    </serviceCertificate> 
    <certificateValidation certificateValidationMode="None"/> 
    <applicationService> 
    <claimTypeRequired> 
     <claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" optional="true" /> 
    </claimTypeRequired> 
    </applicationService> 
    <issuerNameRegistry type="Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> 
    <trustedIssuers> 
     <add thumbprint="f260042d59e14937984c6183fbc6bfc71baf5462" name="https://localhost/Adatum.SimulatedIssuer/" /> 
    </trustedIssuers> 
    </issuerNameRegistry> 
</service> 

La STS se peut utiliser l'authentification par formulaires ou autre chose, en fonction de la mise en œuvre.