5

내부적으로 사용하는 ASP.NET MVC에서 웹 응용 프로그램을 개발했습니다. 이제 인터넷상의 서버를 통해 사용 가능하게 만들고 싶습니다. 사이트에서 일을 할 때 더 쉽게 생활 할 수 있습니다.ASP.NET MVC 양식 인증의 Windows 인증

이상적으로는 도메인 계정에 누군가가 로그인 할 수 있도록 단지, 그것의 뿅 Windows 인증을 충실하고 싶습니다.

문제는 이미 응용 프로그램에서 폼 인증을 사용하고 있다는 점이다.

Google은 앱에 대한 비밀번호 제한이 없으므로 로그인하려는 사용자를 선택한 다음 양식을 제출하기 만하면됩니다.

FormsAuthentication.SetAuthCookie(viewModel.Username, true); 

이 사용자 개체 (user.identity.name)를 사용하여 모든 컨트롤러와 도면에 걸쳐 사용자의 이름을 사용할 수 있습니다 - 서버 측에서 그냥이 수행합니다.

그러나 IIS에서 Windows 인증을 사용하면 웹 응용 프로그램이 user.identity.name이 "ourdomain \ domainuser"라고 생각하기 시작합니다.

내가 원하는 것은 창 인증과 함께 양식 인증을 사용하는 것이지만 어떤 식 으로든 통합시키지 않는 것입니다.

간단한 방법이 있나요?

+0

글쎄, 이름은 _is_'ourdomain \ domainuser'입니다. 너는 무엇을 원했는가/원했는가? –

답변

6

ASP.NET 팀은 공식적으로 응용 프로그램에서 혼합 모드 인증 사용을 지원하지 않습니다. 웹 검색을 수행하는 방법에 대한 블로그 게시물을 찾을 수 있지만 ASP.NET 팀에서는 권장하지 않습니다. 이것이 권장되지 않는 이유는 정확성의 관점에서 추론하기가 매우 어렵 기 때문에 악의적 인 클라이언트가 인증 된 사용자로 가장 할 수있는 설정에 대한 사소한 공격이 있기 때문입니다.

+1

나는 결국 그것이 노력할 가치가 없다고 결국 결정했다. – NoPyGod

1

통합 모드에서 IIS 7 이상에서 양식 인증과 Windows 인증을 동시에 사용할 수 없습니다. 그러므로 나는 그 접근법을 매우 낙담시킬 것이다. 그러나 내장 된 ActiveDirectoryMembershipProvider Class을 사용하여 양식을 통해 Windows 사용자 계정을 인증하고 로그인을 연결할 수 있습니다.

+0

실제로 IIS7 +에서 Windows 인증 및 폼 인증을 사용할 수 있습니다. 기본 모드를 사용하거나 통합 모드를 사용할 수 있습니다. 통합을 위해 백그라운드에서 조금만 조정하면됩니다. http://mvolo.com/blogs/serverside/archive/2008/02/11/IIS-7.0-Two_2D00_Level- 인증 - 양식 - 인증 - 및 - Windows- 인증 .aspx –

+0

@MystereMan 실제로 조정 링크 비록 사용자에게 그러한 시각을 제공하지만 동시에 두 가지를 동시에 사용하지는 않습니다. 그러나 클래식 모드를 사용하여 여전히 2 단계 인증을 수행 할 수 있다고 정확합니다. 나는 어느 쪽이든을 특히 좋은 해결책으로 보지 않는다. mvolo.com 솔루션의 경우 추가 복잡성을 피할 수 있습니다. 클래식 모드에서는 결국 사라질 모델을 따라 가고 있습니다. 제 생각에는 처음부터 제대로 설계하는 것이 낫습니다. – JamieSee

+0

@MystereMan이 기사에서는 MVC 컨텍스트에서 혼합 인증에 대해 설명하지 않습니다. –