Ermittlung aller(!) Rollen

Hi,


ich möchte mittels JavaScript alle (!!!) verfügbaren Benutzerrollen abfragen. Wie ich die Benutzerrollen des Benutzers ermitteln kann ist klar. Dennoch benötige ich alle verfügbaren Rollen.


Wie kann ich diese ermitteln (CRM V3 und V4)?


Christian



AW: Ermittlung aller(!) Rollen

Wieso greifst du nicht mit Ajax auf die Datenbank zu und liest diese einfach

http://www.stunnware.com/crm2/topic.aspx?id=JSWebService

gruß
Andreas


Re: Ermittlung aller(!) Rollen

Zur Vollständigkeit sei noch erwähnt, dass man per JScript auf den Webdienst von Microsoft CRM zugreifen kann und dort über die RetrieveMultiple-Methode der CrmService-Klasse an alle Einträge der Entität "role" an alle Sicherheitsrollen kommen kann.



AW: Re: Ermittlung aller(!) Rollen

Hi Jürgen,


danke und viele Grüße


Christian



AW: Ermittlung aller(!) Rollen

Hi Andreas,


danke für den Hinweis. Hast Du noch einen Wink für mich, wie ich mittels JavaScript die Prüfung durchführe? Nachstehend der Result:


<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<RetrieveMultipleResult EntityName="role" MoreRecords="0" PagingCookie="" xmlns="http://schemas.microsoft.com/crm/2006/WebServices">
<BusinessEntities>
<BusinessEntity xmlns:q1="http://schemas.microsoft.com/crm/2006/WebServices" xsi:type="q1:role">
<q1:modifiedon date="22.02.2008" time="10:49">2008-02-22T10:49:57+01:00</q1:modifiedon>
<q1:createdon date="22.02.2008" time="10:49">2008-02-22T10:49:57+01:00</q1:createdon>
<q1:roletemplateid>{ECFD0B44-5720-45E3-AE68-417DDB0FB654}</q1:roletemplateid>
<q1:name>Kundenservicemitarbeiter</q1:name>
<q1:roleid>{16D2A085-2BE1-DC11-8700-000C290F9D1A}</q1:roleid>
<q1:organizationid>{85AF53F2-72CB-489C-997D-6B565B5237D0}</q1:organizationid>
<q1:businessunitid dsc="0" name="Irgendwas">{15D2A085-2BE1-DC11-8774-000C290F9D1A}</q1:businessunitid>
</BusinessEntity>
</BusinessEntities>
</RetrieveMultipleResult>
</soap:Body>
</soap:Envelope


Christian



AW: Ermittlung aller(!) Rollen

hi christian,

wo hakt es denn?

Schick mir mal deinen .NET Code mit dem du dieses Result generiert hast. Wenn ich das richtig verstehe, dann sieht der Result nicht so aus, wie du ihn brauchst.

Mach es folgendermaßen.
Ich denke du willst für einen User, alle Rollennamen ..

Mach eine Query auf die Role Tabelle. Also Condition gibst du in etwa folgendes ein:

ConditionExpression condition = new ConditionExpression();
             condition.AttributeName = "<USERID Spalte> ( in der Role Tabelle )";
             condition.Operator = ConditionOperator.Equal;
             condition.Values = new string[] { "TESTID" };

In condition values kannst du einfach mal testid stehen lassen. Du wirst als Result zwar eine Fehlermeldung bekommen, hast aber im generierten JavaScript Code in etwa  stehen :

<userid>TESTID</user>

Den gesamten generierten Code ( wie du ihn ja schon gepostet hast ), kopierst du ja z.B ins Onload. Für den Wert TESTID übergibst die du ID des aktuellen Users.

Das geht soweit ich weiß mit :
http://ronaldlemmen.blogspot.com/2006_05_01_archive.html

So und nun bekommst du mit dem resultXml ein Objekt mit den Rollennamen z.B.

Wenn es nochmals hakt, dann kann ich dir den kompletten Code posten. Aber erst Montag ;)
Ansonsten wenn du ein Wochenende-Racker bist, dann bin ich im icq erreichbar 223994009

Gruß
Andreas






AW: Ermittlung aller(!) Rollen

Hi Andreas,


danke für Deine Hilfe. Meine C# Abfrage war fehlerhaft. Ich habe es schon gefunden. Danke trotzdem nochmals.


Christian