2014-06-20 8 views
0

인증을 위해 Azure ADFS 및 Azure ACS를 사용하는 MVC 애플리케이션이 있습니다. 사용자가 처음 로그인하면 인증을 위해 Azure ASC로 리다이렉트됩니다. 이 작업이 성공적으로 완료되면 사용자는 토큰을 사용하여 사이트로 리다이렉트되며 정상적으로 시스템을 사용할 수 있습니다.Azure ACS가 로그 아웃 후 다시 인증하지 않습니다.

사용자가 로그 아웃하면 다시 로그 아웃 페이지로 이동 한 다음 원래 로그인 화면으로 돌아갑니다. 문제는 사용자가 로그인 링크를 다시 클릭하면 재 인증을 요구하지 않고 사용자를 자동으로 다시 로그인한다는 것입니다.

: 브라우저를 닫지 않고 사용자를 변경하고 사용자가 브라우저 창을 떠나면 개방 사람이 로그인 링크를 클릭하고

내 로그 아웃 코드는 다음과 같다 해당 사용자로 로그인 불가능하다는 것을 의미한다

https://myacsnamespace.accesscontrol.windows.net/v2/wsfederation?wa=wsignout1.0&wreply=http%3a%2f%2flocalhost%3a44301%2f 

내가 ACS 잘못 뭔가를 구성, 또는 뭔가가 내 코드입니다 :
public void Logout() 
    { 
     var fc = FederatedAuthentication.FederationConfiguration.WsFederationConfiguration; 
     var signOutMessage = new SignOutRequestMessage(new Uri(fc.Issuer), fc.Realm); 
     FederatedAuthentication.WSFederationAuthenticationModule.SignOut(signOutMessage.WriteQueryString()); 
    } 

signOutMessage.WriteQueryString()는 다음을 생성합니다. 이전 사용자를 자동으로 다시 인증하는 방법을 알아낼 수 없습니다.

답변

0

일반적으로 adfs 로그인을 사용하려면 재 인증을 받아야합니다.
그러나 사용자가 도메인 내의 compuer에 로그인하면 그녀는 자동으로 로그인됩니다 (활성 디렉토리에 로그인했기 때문에). 도메인 외부의 컴퓨터에서 사용자는 암호를 제공하고 브라우저에서 요청해야합니다. 어떻게이 동작을 변경 하시겠습니까? example of browser requesting credentials (in dutch)

+0

"컴퓨터"패스가 언제 브라우저에 로그인 한 때부터 기다려야합니까? IE는 아마도이 일을하지만, Firefox와 Chrome은 그렇지 않길 바랄 것입니다. – mxmissile

+0

웹 서버에서 Windows 인증을 사용하는 것이 더 좋습니다. 또한 자동으로 발생합니다. 나는 각각의 경우에 일어나는 일의 정확한 흐름을 모른다. 나는 브라우저에 관계없이 이런 방식으로 작동한다는 것을 확신합니다. 나는 어떤 종류의 인증 협상이 서버와 클라이언트간에 일어난다 고 가정한다. 도메인 내부에서 이것은 일방적으로 수행되고 adfs 서버는 http (s) 기본 인증으로 전환합니다 ... –

+0

Azure ADFS가 로컬 활성 디렉토리와 통합되었을 때를 말합니다. 우리 시스템에서는 그렇지 않습니다. 사용자는 Windows 로그온과 관련이없는 사용자 이름으로 ACS를 사용하여 로그인해야합니다. – Neil