인증을 위해 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()
는 다음을 생성합니다. 이전 사용자를 자동으로 다시 인증하는 방법을 알아낼 수 없습니다.
"컴퓨터"패스가 언제 브라우저에 로그인 한 때부터 기다려야합니까? IE는 아마도이 일을하지만, Firefox와 Chrome은 그렇지 않길 바랄 것입니다. – mxmissile
웹 서버에서 Windows 인증을 사용하는 것이 더 좋습니다. 또한 자동으로 발생합니다. 나는 각각의 경우에 일어나는 일의 정확한 흐름을 모른다. 나는 브라우저에 관계없이 이런 방식으로 작동한다는 것을 확신합니다. 나는 어떤 종류의 인증 협상이 서버와 클라이언트간에 일어난다 고 가정한다. 도메인 내부에서 이것은 일방적으로 수행되고 adfs 서버는 http (s) 기본 인증으로 전환합니다 ... –
Azure ADFS가 로컬 활성 디렉토리와 통합되었을 때를 말합니다. 우리 시스템에서는 그렇지 않습니다. 사용자는 Windows 로그온과 관련이없는 사용자 이름으로 ACS를 사용하여 로그인해야합니다. – Neil