2016-11-22 4 views
0

Ich versuche einen Sharepoint Server für die Kommunikation mit ADFS für die Authentifizierung zu konfigurieren. Ich folge den Anweisungen hier: https://technet.microsoft.com/en-us/library/hh305235(v=office15).aspxADFS 2.0 Sharepoint Event ID 364 Fehler

Wenn ich versuche, die Webseite zu öffnen, erhalte ich einen ADFS-Fehler. Es erscheint als Event ID 364 und gibt folgendes Protokoll.

Encountered error during federation passive request. 

Additional Data 

Exception details: 
System.Web.HttpException: Error executing child request for handler 'ASP.homerealmdiscovery_aspx'. ---> System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.NullReferenceException: Object reference not set to an instance of an object. 
    at HomeRealmDiscovery.Page_Init(Object sender, EventArgs e) 
    at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) 
    at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) 
    at System.Web.UI.Control.OnInit(EventArgs e) 
    at System.Web.UI.Page.OnInit(EventArgs e) 
    at System.Web.UI.Control.InitRecursive(Control namingContainer) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    --- End of inner exception stack trace --- 
    at System.Web.UI.Page.HandleError(Exception e) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest() 
    at System.Web.UI.Page.ProcessRequest(HttpContext context) 
    at ASP.homerealmdiscovery_aspx.ProcessRequest(HttpContext context) 
    at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) 
    --- End of inner exception stack trace --- 
    at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) 
    at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) 
    at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) 
    at System.Web.HttpServerUtility.Transfer(IHttpHandler handler, Boolean preserveForm) 
    at Microsoft.IdentityServer.Web.PassiveContext.TransferToASPX(HttpContext context, String path, Boolean preserveViewState) 
    at Microsoft.IdentityServer.Web.Dispatchers.ClaimsProviderUserInterfaceDispatcher.DispatchInternal(SignInContext context) 
    at Microsoft.IdentityServer.Web.PassiveProtocolHandler.ProcessRequestInternal(PassiveContext context) 
    at Microsoft.IdentityServer.Web.PassiveProtocolHandler.ProcessRequest(HttpContext context) 

System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.NullReferenceException: Object reference not set to an instance of an object. 
    at HomeRealmDiscovery.Page_Init(Object sender, EventArgs e) 
    at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) 
    at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) 
    at System.Web.UI.Control.OnInit(EventArgs e) 
    at System.Web.UI.Page.OnInit(EventArgs e) 
    at System.Web.UI.Control.InitRecursive(Control namingContainer) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    --- End of inner exception stack trace --- 
    at System.Web.UI.Page.HandleError(Exception e) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest() 
    at System.Web.UI.Page.ProcessRequest(HttpContext context) 
    at ASP.homerealmdiscovery_aspx.ProcessRequest(HttpContext context) 
    at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) 

System.NullReferenceException: Object reference not set to an instance of an object. 
    at HomeRealmDiscovery.Page_Init(Object sender, EventArgs e) 
    at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) 
    at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) 
    at System.Web.UI.Control.OnInit(EventArgs e) 
    at System.Web.UI.Page.OnInit(EventArgs e) 
    at System.Web.UI.Control.InitRecursive(Control namingContainer) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

Kann jemand helfen?

Antwort

0

Ein paar Dinge, die Sie überprüfen können:

  • Der Identifier Anspruch für den angemeldeten Benutzer nicht leer in Active Directory ist. Für z.B. Bei der Konfiguration von PS-Befehlen, wenn Sie EmailAddress als Bezeichner angeben, müssen alle Benutzer, die sich bei Sharepoint anmelden, über eine ihnen zugeordnete E-Mail-Adresse verfügen
  • Logon Token Ablauf sollte nicht 0 sein. Überprüfen Sie dies auf Ihrem ADFS-Server. Im Folgenden Befehl kann Token Lebensdauer
    `Set-AdfsRelyingPartyTrust -TargetName„Sharepoint 2013“-TokenLifetime 30`
+0

Es tut mir leid, aber ich bin ziemlich neu, um all dies Set verwendet werden. Wie überprüfe ich, ob der Benutzer im Active Directory schwarz ist? Auch wie führe ich den Befehl für die zweite Reihe von Ideen, die Sie vorgestellt? Sowohl Powershell als auch die Eingabeaufforderung sagen "Set-ADFSRelyingPartyTrust" wird nicht erkannt. Danke für Ihre Zeit! – IntoTheRain

+0

Können Sie den ersten Punkt genauer erklären? Soweit ich das beurteilen kann, muss jede Nutzung eine E-Mail-Adresse haben, bevor sie sich verbinden können. Ich habe den zweiten Befehl versucht, aber es scheint keinen Unterschied zu geben. – IntoTheRain

+0

Sie haben Recht, jeder Benutzer muss eine E-Mail-Adresse haben. –