ASP.NET MVC 4 및 Windows 인증을 사용하고 있습니다. VisualStudio를 사용할 때 모든 것이 잘 작동하지만 사이트를 배포 할 때 예외가 발생합니다.ASP.NET MVC Windows 인증 및 DirectoryServices - 현재 사용자의 메일 주소 가져 오기 InvalidCastException을 throw합니다.
var emailAddress = UserPrincipal.Current.EmailAddress;
예외 :
'System.DirectoryServices.AccountManagement.UserPrincipal'을 입력 할 유형 'System.DirectoryServices.AccountManagement.GroupPrincipal'의 개체를 캐스팅 할 수 없습니다.
나머지는 정상적으로 작동합니다. 사용자 인증 할 수 나는 사용자가 등
EDIT 이름을 얻을 수 있습니다 :
내가 IIS에 가장을 활성화. 지금 나는 다음과 같은 예외가 :
이[DirectoryServicesCOMException (0x80072020) : 작업 오류 메시지 가 발생했습니다. ] System.DirectoryServices.DirectoryEntry.Bind (부울 throwIfFail) +781 System.DirectoryServices.DirectoryEntry.Bind() +44 System.DirectoryServices.DirectoryEntry.get_AdsObject() +42 System.DirectoryServices.PropertyValueCollection.PopulateList() +29
System.DirectoryServices.PropertyValueCollection..ctor (하여 DirectoryEntry 항목, 문자열 propertyName 형식) 119
System.DirectoryServices.PropertyCollection.get_Item (문자열 propertyName 형식) 163
System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer() + 535649 System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit() +51 System.Dire ctoryServices.AccountManagement.PrincipalContext.Initialize() 141 System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx() 42 System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper (PrincipalContext 컨텍스트 유형 principalType, Nullable`1 identityType, 문자열 identityValue, 날짜 시간 refDate) +27
System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType (PrincipalContext 컨텍스트 유형 principalType, IdentityType identityType, 문자열 identityValue) 146
System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity (PrincipalContext 컨텍스트 , IdentityType identityType, String ide C에서 ntityValue) +44
System.DirectoryServices.AccountManagement.UserPrincipal.get_Current() 390 Jericho.MVC.HtmlHelperExtensions.GetUser (html 헬퍼 Html 헬퍼) : \ 개발 \ 리고 \ Jericho.MVC \ HtmlHelperExtensions.cs 48
어떻게해야합니까?