[gelöst] Manchmal fehlende Berechtigungen

17. Februar 2010 10:36

Hallo Zusammen,

eine Kollegin hat das Problem, das sie mal Datensätze öffnen kann und mal nicht. (kann auch der gleiche sein, der einmal geht, einmal nicht).

ich habe folgenden KB Artikel zu der Meldung gefunden:

http://support.microsoft.com/kb/953962/de

Fürhe ich den Angegeben Query aus, bekomme ich folgende Berechtigung zurück. Aber was ist das?

prvReadOrganizationUI


Viele Grüße
Pascal
Zuletzt geändert von pallinio am 15. März 2010 09:45, insgesamt 1-mal geändert.

Re: Manchmal fehlende Berechtigungen

17. Februar 2010 10:58

Hallo Pascal,

das ist das Recht, die Unternehmenseinheit aus dem CRM zu lesen. Du findest das Recht in den Sicherheitsrollen auf dem Reiter Unternehmensmanagement. Der User muss mindestens eine Rolle mit diesem Recht besitzen.

Re: Manchmal fehlende Berechtigungen

17. Februar 2010 11:29

Hallo,

danke!

Leider bringt die Info mich nur soweit, das ich festsetllen musste, das beide Rolen das recht zum lesen haben. Einmal für alle Unternehmenseinheiten, einmal für die Eigene.

Sie hat Veruscht einen Firmendatensatz zu Öffnen. in der Ansicht sieht sie ihn, will sie ihn Öffnen kommt die Fehlermeldung:

Microsoft CRM Error Report:
Error Description:
SecLib::CrmCheckPrivilege failed. Returned hr = -2147220960 on UserId: 19820c15-65f0-de11-9452-00155d00f518 and PrivilegeId: d7bf8604-022a-498e-a612-2e54fd151e89

Error Details:
SecLib::CrmCheckPrivilege failed. Returned hr = -2147220960 on UserId: 19820c15-65f0-de11-9452-00155d00f518 and PrivilegeId: d7bf8604-022a-498e-a612-2e54fd151e89

Full Stack:
[CrmSecurityException: SecLib::CrmCheckPrivilege failed. Returned hr = -2147220960 on UserId: 19820c15-65f0-de11-9452-00155d00f518 and PrivilegeId: d7bf8604-022a-498e-a612-2e54fd151e89]
bei Microsoft.Crm.BusinessEntities.SecurityLibrary.CheckPrivilege(Guid user, Guid privilege, ExecutionContext context)
bei Microsoft.Crm.BusinessEntities.SecurityExtension.DefaultSecuritySqlGenerator.CheckPrivilege(Guid user, Guid organizationId, EntityMetadata entityMetadata, ExecutionContext context)
bei Microsoft.Crm.BusinessEntities.SecurityExtension.DefaultSecuritySqlGenerator.CreateSecuritySqlForRetrieveMultipleHelper(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
bei Microsoft.Crm.BusinessEntities.SecurityExtension.DefaultSecuritySqlGenerator.CreateSecuritySqlForRetrieveMultiple(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
bei Microsoft.Crm.BusinessEntities.SecurityExtension.CreateSecuritySql(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
bei Microsoft.Crm.BusinessEntities.SecurityExtension.AddSecuritySql(Guid user, EntityExpression entityExpression, ExecutionContext context)
bei Microsoft.Crm.BusinessEntities.SecurityExtension.PreRetrieveMultipleHandler(ExtensionEventArgs e)
bei Microsoft.Crm.BusinessEntities.SecurityExtension.PreRetrieveMultipleHandler(Object sender, ExtensionEventArgs e)
bei Microsoft.Crm.BusinessEntities.BusinessProcessObject.PreRetrieveMultipleEventHandler.Invoke(Object sender, ExtensionEventArgs e)
bei Microsoft.Crm.BusinessEntities.BusinessProcessObject.DoRetrievePublishableMultiple(EntityExpression entityExpression, Boolean includeUnpublished, ExecutionContext context)
bei Microsoft.Crm.BusinessEntities.BusinessProcessObject.RetrieveMultiple(EntityExpression entityExpression, ExecutionContext context)
bei Microsoft.Crm.ObjectModel.OrganizationUIService.RetrieveFormXml(String entityName, Int32& customizationLevel, ExecutionContext context)

[TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.]
bei System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
bei System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
bei System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
bei Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext context)
bei Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)
bei Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext context)
bei Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext context)
bei Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext context)
bei Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
bei Microsoft.Crm.Sdk.RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
bei Microsoft.Crm.Sdk.RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
bei Microsoft.Crm.Sdk.CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
bei Microsoft.Crm.Sdk.InProcessCrmService.Execute(Object request)
bei Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
bei Microsoft.Crm.Application.Platform.ServiceCommands.RetrieveFormXmlCommand.Execute(Int32& customizationLevel)
bei Microsoft.Crm.Application.Platform.DataSource.RetrieveFormXml(String entityName, Int32& customizationLevel)
bei Microsoft.Crm.Application.Forms.FormDescriptorLoader.LoadCacheData(FormDescriptorCacheKey key, IOrganizationContext context)
bei Microsoft.Crm.Caching.CrmMultiOrgCache`2.CreateEntry(TKey key, IOrganizationContext context)
bei Microsoft.Crm.Caching.CrmSharedMultiOrgCache`2.LookupEntry(TKey key, IOrganizationContext context)
bei Microsoft.Crm.Application.Forms.FormDescriptorCache.GetFormDescriptor(Int32 entityTypeCode, String formType)
bei Microsoft.Crm.Application.Forms.CustomizableForm.GetFormDescriptor(Int32 typeCode, String formType)
bei Microsoft.Crm.Application.Forms.CustomizableForm.Execute(Entity entity, String formType)
bei Microsoft.Crm.Application.Forms.CustomizableForm.Execute(Entity entity)
bei Microsoft.Crm.Web.SFA.AccountDetailPage.ConfigureForm()
bei Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
bei System.Web.UI.Control.PreRenderRecursiveInternal()
bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

[HttpUnhandledException: Eine Ausnahme vom Typ "System.Web.HttpUnhandledException" wurde ausgelöst.]
bei System.Web.UI.Page.HandleError(Exception e)
bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
bei System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
bei System.Web.UI.Page.ProcessRequest()
bei System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
bei System.Web.UI.Page.ProcessRequest(HttpContext context)
bei ASP.fecher_sfa_accts_edit_aspx.ProcessRequest(HttpContext context)
bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Other Message:

Error Number:
0x80040220

Source File:
Not available

Line Number:
Not available


Im Eventlog steht dann folgendes:

Event code: 3005
Event message: Es ist eine unbehandelte Ausnahme aufgetreten.
Event time: 17.02.2010 08:49:29
Event time (UTC): 17.02.2010 07:49:29
Event ID: 49ffe0be320c4f2e93b7e8d32d721023
Event sequence: 75823
Event occurrence: 11
Event detail code: 0

Application information:
Application domain: /LM/W3SVC/1/ROOT-3-129108004948180747
Trust level: Full
Application Virtual Path: /
Application Path: C:\inetpub\wwwroot\
Machine name: SRV-PB-CRM02

Process information:
Process ID: 3820
Process name: w3wp.exe
Account name: NT-AUTORITÄT\NETZWERKDIENST

Exception information:
Exception type: TargetInvocationException
Exception message: Ein Aufrufziel hat einen Ausnahmefehler verursacht.

Request information:
Request URL: http://srv-pb-crm02/orga/_grid/preview.aspx?type=1&id={653D1ECA-411A-DF11-9BB6-00155D00F518}
Request path: /orga/_grid/preview.aspx
User host address: 10.212.0.17
User: IHRUserName
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT-AUTORITÄT\NETZWERKDIENST

Thread information:
Thread ID: 3
Thread account name: NT-AUTORITÄT\NETZWERKDIENST
Is impersonating: False
Stack trace: bei Microsoft.Crm.Application.Utility.Util.RaiseXMLError(Exception exception)
bei Microsoft.Crm.Application.Pages.Grids.PreviewPage.ConfigurePage()
bei Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
bei System.Web.UI.Control.PreRenderRecursiveInternal()
bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


Custom event details:


Viele Grüße
Pascal

Re: Manchmal fehlende Berechtigungen

17. Februar 2010 12:29

Hallo Pascal,

dann entferne einmal das Recht in den Rollen, speichere die Rollen ab, füge das Recht dann wieder hinzu und erneut abspeichern.

Dann beim Benutzer den IE-Cache leeren, CRM NEU starten und testen.

Re: Manchmal fehlende Berechtigungen

17. Februar 2010 15:50

Hallo Michael,

das hat alles nix gebracht :-(

ich habe auch das "granthiddenprivileges" aus dem UpdateRollup3 gerade ausgefürht, weil der Fehlerdcode wunderbar gepasst hat, bringt aber alles nix :-(

Viele Grüße
Pascal

Re: Manchmal fehlende Berechtigungen

17. Februar 2010 16:16

Hallo Pascal,

welches RU habt ihr denn auf dem Server UND dem Client instaliert? Nicht das der Client versehentlich nicht upgedatet wurde.

Re: Manchmal fehlende Berechtigungen

17. Februar 2010 16:20

Hallo,

ich habe heute das RU 9 installiert der Client sollte noch 8 sein, aber der Fehler trat gestern und letzte woche auch schon auf.
Nachdem ich das mit den Hidden Privileges gemacht habe kommt die Fehlermeldung "nur" noch beim neuerstellen von Datensätzen. Aber immer noch mit der gleichen fehlenden Berechtigung.
Dem Lesen der Businussunit.

Ich bin echt ratlos :-(

EDIT:

Ich glaube das mir das Recht zwar angezeigt wird, aber nicht wirklich gesetzt ist auf der DB

Code:
SELECT TOP 1000 [PrivilegeId]
      ,[RoleId]
      ,[PrivilegeDepthMask]
      ,[RolePrivilegeId]
      ,[VersionNumber]
  FROM [Database].[dbo].[RolePrivileges]
  where PrivilegeId='d7bf8604-022a-498e-a612-2e54fd151e89' and RoleId ='3B92CB0F-7915-DF11-B88D-00155D00F518'


gibt nämlich für beide Rollen, die der User zugewiesen hat nichts zurück.

Allerdings bin ich mir nicht so ganz sicher ob ich das gegen die Richtige Tabelle haben laufen lassen.

Viele Grüße
Pascal

Re: Manchmal fehlende Berechtigungen

17. Februar 2010 17:08

Hallo Pascal

da bewegst du dich mitlerweile im extrem unsupporteten Bereich. Ich würde an deiner Stelle den MS Support einschalten. Wenn die dort was ändern, ist das ok, selbst würde ich das auf keinen Fall machen.

Re: Manchmal fehlende Berechtigungen

17. Februar 2010 17:18

Hallo Michael,

ich wollte da auf diese weise nix ändern :-)
Sondern nur schauen, ob alles da ist wo es hingehört...

Edit:
ich werde noch bescheuert mit dem Teil.

Jetzt gehts. Sie kann alles machen... mal schauen ob das morgen auch noch so ist. ich melde mich morgen wieder dazu.

Viele Grüße
Pascal

Re: Manchmal fehlende Berechtigungen

13. März 2010 16:02

Hallo pallino

kleine Frage: konntest Du das Problem lösen?

Ich denke dass ich ein ähnliches habe. Eintrag auf der Community "Syste.Web.HTTPUnhandledExeption".

Der Fehler tritt auch zeitweise auf aber bei (fast) allen Benutzern.
Der selbe Eintrag im Event-Log mit ID 3005 (ASP.net) wird dann auch bei mir erstellt.

viele Grüsse
Roland

Re: Manchmal fehlende Berechtigungen

13. März 2010 19:03

Hallo zusammen,

mal eine Frage dazu. Habt ihr den Benutzern eine vorhanden Rolle zugewiesen, oder diese Rolle neue erstellt? es gibt ein bekanntes Problem, wenn eine Sicherheitsrolle neu angelegt wird, wedshalb man als Vorlage immer eine vorhandene Rolle kopieren sollte.

Re: Manchmal fehlende Berechtigungen

15. März 2010 09:44

Guten Morgen,

wir sind genau in das Problem rein gelaufen. Ich war im glauben ich hätte alle Rollen vom Systemadministrator kopiert, aber die beiden betreffenden wohl nicht. Hatte den MS Support dazu eingeschaltet und wir haben beim testen und reproduzieren das Problem schon gelöst gehabt, indem wir die Admin Rolle kopierten.

Naja, schon ein komischer bug, aber wenn man weiß woran es liegt :-)

Danke der Nachfrage!

Pascal