2012-02-27 1 views
8

web.config를 편집하지 않고 azure ACS에 대한 영역 URL, 클레임 유형 등을 설정할 수 있습니까? 프로그래밍 방식으로 이러한 필수 요소를 설정할 수 있습니까?web.config를 편집하지 않고 ACS 클레임을받을 수 있습니까?

편집 : 구체적 내가 원하는이 없애 :

<federatedAuthentication> 
    <wsFederation passiveRedirectEnabled="true" issuer="https://mynamespace.accesscontrol.windows.net/v2/wsfederation" realm="http://localhost:81/" requireHttps="false" /> 
</federatedAuthentication> 

는 기본적으로,이 영역은 웹 설정에 지정된 것이 아니라 어딘가에 코드되고 싶지 않아요. ClaimsAuthenticationManager를 재정의하고 FederatedAuthentication과 관련된 코드 부분을 주석 처리했습니다. 내 재정의 된 인증 코드가 손상되었지만 소유권 주장이 없습니다. FederatedAuthentication은 오버 라이드 된 ClaimsAuthenticationManager에 정상적으로 도달하기 전에 자체 인증을 수행하는 중개자이기 때문에 이것이라고 가정합니다. 유사한 방식으로 FederatedAuthentication 부분을 재정의 할 수 있습니까? 아니면 자체 인증을 수행하는 데 사용할 수있는 재정의 된 인증 메소드에 정보가 전달 되었습니까?

답변

9

가 웹 설정에서 해당 XML 행을 제거하려면, 그래서 같이 이전을 무시 내 자신의 WSFederationAuthenticationModule을했다 :

public class CustomWSFederationAuthenticationModule : WSFederationAuthenticationModule 
{ 
    protected override void InitializePropertiesFromConfiguration(string serviceName) 
    { 
     this.Realm = "http://localhost:81/"; 
     this.Issuer = "https://acsnamespace.accesscontrol.windows.net/v2/wsfederation"; 
     this.RequireHttps = false; 
     this.PassiveRedirectEnabled = true; 
    } 
} 

그리고의 Web.config의 중요한 부분 : 또한

<modules runAllManagedModulesForAllRequests="true"> 
    <add name="WSFederationAuthenticationModule" type="CustomModuleLocation.CustomWSFederationAuthenticationModule, CustomModuleLocation" preCondition="managedHandler"/> 
    <add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" /> 
</modules> 

는 XML의 federatedAuthentication 부분은 제거 entirel입니다 와이.

+1

내 세계에서 매력처럼 일했습니다. 고맙습니다! –

1

예, FedUtil이 수행합니다. Windows Identity Foundation (WIF) SDK와 함께 제공되는 유틸리티이며 Visual Studio에서 호출 할 수 있습니다.

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

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=4451

편집 : 나는 당신의 질문을 오해 할 수있다. FedUtil은 web.config를 구성하는 유틸리티입니다. 코드에서 응용 프로그램을 구성하려는 경우에도 가능합니다. MSDN에 WIF 문서는이 작업을 수행하는 방법을 설명한다 :

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

+0

두 번째로 내가 찾고있는 것이 더 있습니다. 맞춤 토큰 처리기에서이 페이지를 발견했습니다 : http://msdn.microsoft.com/en-us/library/ee517261.aspx 매우 도움이됩니다. –