2012-03-09 2 views
2

Web.config에있는 클레임 ​​유형을 프로그래밍 방식으로 읽는 가장 좋은 방법은 무엇입니까?Windows Identity Foundation - web.config에서 클레임 유형을 프로그래밍 방식으로 읽습니다.

+0

이것은 의미가 없습니다. 당신은 web.config에 대한 클레임을 읽지 않습니다. 토큰에서 클레임을 읽으면 WIF를 통해 처리됩니다. 당신이 의미하는 것을 명확히 할 수 있습니까? –

+0

나는 web.config에서 fedutil.exe에 의해 생성 된 클레임을 언급하고 있습니다. 나는 STS에서 얻은 것에 대해 유효한 주장으로 그들을 비교할 수 있기를 원합니다. 다른 주제에서, 나는 당신의 포스트 (http://garrettvlieger.com/blog/2010/03/refreshing-claims-in-a-wif-claims-aware-application/)를 읽었고 그것은 나를 위해 일하지 않는다. 클레임을 청산하는 한 어떤 아이디어? –

+0

나는 이것보다 검증 체크를 더 원했다. 실제로 ClaimsIdentity 객체를 통해 실제 클레임을 확인하고 있으며 일부 사용자는 일부 오류가 발생한 클레임 설명을 변경했습니다. 또한 Garret, 나는 내가 일하는 것처럼 내가 당신의 게시물에 대해 말한 것을 되돌립니다. 도와 주셔서 감사합니다. –

답변

3

내가 잘못 생각할 수도 있지만 web.config의 applicationService/claimTypeRequested에 표시된 클레임 유형이 WIF에 실제로 사용되며 응용 프로그램의 연합 메타 데이터 문서를 생성 할 때 FedUtil.exe에서만 사용한다고 생각하지 않습니다. . 따라서 나는 WIF가 FederatedAuthentication.ServiceConfiguration 아래 어느 곳에서나 노출 될 것으로 생각하지 않는다.

당신은 항상 그냥 Web.config의를 열고 균열과 같이, 그들을 위해 자신을 스캔 할 수 있습니다 :

XmlDocument doc = new XmlDocument(); 
doc.Load(WebConfigurationManager.OpenWebConfiguration("~").FilePath); 
XmlNamespaceManager docNs = new XmlNamespaceManager(doc.NameTable); 
docNs.AddNamespace("fed", doc.DocumentElement.NamespaceURI); 
XmlNodeList claimsNodes = doc.SelectNodes(@"/fed:configuration/fed:microsoft.identityModel/fed:service[count(@name)=0 or @name='']/fed:applicationService/fed:claimTypeRequired/fed:claimType", docNs); 
+0

당신은 정확하지만 누군가 XML을 파싱하는 것 이외의 web.config에서 클레임을 읽을 수있는 방법이 있는지 궁금합니다. 나는 누군가가 내 주장을 바꿔서 주장을 입증하기 위해 빠른 시험을 쓰기를 원했기 때문에 이것을 원한다. –

+0

web.config를 XML로 구문 분석하여 수행하려는 작업을 달성 할 수있는 것 같습니다. 왜 그렇게 할까 불안한 이유를 물어봐도 될까요? –

+0

강력하게 입력 된 방법을 찾고 있습니다. 내장 객체가 있다면 (분명히 존재하지 않는다) 나는 그것을 사용하는 것을 선호 할 것이다. –

1

앤드류가 올바른지 -의 Web.config의 목록은 메타 데이터 만 사용됩니다.

원할 경우 Access The Claims in an ASP.NET Page 일 수 있으며 web.config를 스캔하여 비교할 수 있습니다.

관련 문제