. SharePoint Sekuriteit Grondbeginsels Primer / Vermy algemeen slaggate

UPDATE 12/18/07: Sien Paul Liebrand se artikel vir 'n paar tegniese gevolge van die verwydering of die wysiging van die standaard vormveranderings (sien sy kommentaar hieronder asook).

Oorsig:

SharePoint security is easy to configure and manage. Egter, it has proven to be difficult for some first-time administrators to really wrap their hands around it. Not only that, I have seen some administrators come to a perfect understanding on Monday only to have lost it by Friday because they didn’t have to do any configuration in the intervening time. (Ek erken dat hierdie probleem myself). This blog entry hopefully provides a useful SharePoint security primer and points towards some security configuration best practices.

Belangrike nota:

This description is based on out of the box SharePoint security. My personal experience is oriented around MOSS so there may be some MOSS specific stuff here, but I believe it’s accurate for WSS. I hope that anyone seeing any errors or omissions will point that out in comments or email my. I’ll make corrections post haste.

Grondbeginsels:

Vir die doel van hierdie oorsig, Daar is vier fundamentele aspekte van sekuriteit: gebruikers / groepe, beveilig baar voorwerpe, toestemming vlakke en erfenis.

Gebruikers en Groepe breek te:

  • Individuele gebruikers: Getrek uit die aktiewe gids of wat direk in SharePoint.
  • Groepe: Mapped directly from active directory or created in SharePoint. Groups are a collection of users. Groups are global in a site collection. They are never "tied" aan 'n spesifieke beveilig baar voorwerp.

Beveilig baar voorwerpe breek aan ten minste:

  • Webwerwe
  • Dokument biblioteke
  • Individuele items in lyste en dokument biblioteke
  • Dopgehou
  • Verskeie BDC instellings.

Daar beveilig baar ander voorwerpe, maar jy kry die prentjie.

Toestemming vlakke: 'N bondel van korrel / low level access rights that include such things as create/read/delete entries in lists.

Erfenis: By default entities inherit security settings from their containing object. Sub-sites inherit permission from their parent. Document libraries inherit from their site. So on and so forth.

Gebruikers en groepe in verband te beveilig baar voorwerpe via toestemming vlakke en erfenis.

Die meeste Belangrike Security Reëls om te verstaan, Ever 🙂 :

  1. Groepe is net versamelings van gebruikers.
  2. Groepe is globale binne 'n webwerf versameling (d.w.z. daar is geen sodanige ding as 'n groep gedefinieer op 'n terrein vlak).
  3. Groep naam nieteenstaande, groepe nie, in en van die self, have any particular level of security.
  4. Groups have security in the context of a specific securable object.
  5. Jy kan toewys verskillende toestemming vlakke aan dieselfde groep vir elke beveilig baar voorwerp.
  6. Web aansoek beleid troef al hierdie (sien hieronder).

Security administrateurs verloor in 'n see van 'n groep en gebruikers lys kan altyd staatmaak op hierdie aksiomas te bestuur en te verstaan ​​hul sekuriteit opset.

Algemene slaggate:

  • Group name valslik impliseer toestemming: Uit die boks, SharePoint defines a set of groups whose names imply an inherent level of security. Consider the group "Contributor". One unfamiliar with SharePoint security may well look at that name and assume that any member of that group can "contribute" to any site/list/library in the portal. That may be true but not because the group’s name happens to be "contributor". This is only true out of the box because the group has been provided a permission level that enables them to add/edit/delete content at the root site. Through inheritance, the "contributors" group may also add/edit/delete content at every sub-site. One can "break" the inheritance chain and change the permission level of a sub-site such that members of the so-called "Contributor" groep kan glad nie bydra, maar slegs gelees (byvoorbeeld). This would not be a good idea, natuurlik, want dit sou baie verwarrend.
  • Groepe word nie gedefinieer op 'n terrein vlak. It’s easy to be confused by the user interface. Microsoft provides a convenient link to user/group management via every site’s "People and Groups" skakel. It’s easy to believe that when I’m at site "xyzzy" and I create a group through xyzzy’s People and Groups link that I’ve just created a group that only exists at xyzzy. That is not the case. I’ve actually created a group for the whole site collection.
  • Groepe lidmaatskap nie afhanklik van die webwerf (d.w.z. dit is oral dieselfde van die groep word gebruik): Consider the group "Owner" en twee terreine, "HR" and "Logistics". It would be normal to think that two separate individuals would own those sites — an HR owner and a Logistics owner. The user interface makes it easy for a security administrator to mishandle this scenario. If I didn’t know better, Ek kan toegang tot die mense en groepe skakels via die HR webwerf, select the "Owners" group and add my HR owner to that group. A month later, Logistics comes on line. I access People and Groups from the Logistics site, add pull up the "Owners" group. I see the HR owner there and remove her, thinking that I’m removing her from Owners at the Logistics site. In werklikheid, I’m removing her from the global Owners group. Hilarity ensues.
  • Versuim om groepe op grond van spesifieke rol te noem: The "Approvers" group is a perfect example. What can members of this group approve? Where can they approve it? Do I really want people Logistics department to be able to approve HR documents? Of course not. Always name groups based on their role within the organization. This will reduce the risk that the group is assigned an inappropriate permission level for a particular securable object. Name groups based on their intended role. In the previous HR/Logistics scenario, Ek moet geskep het twee nuwe groepe: "HR Owners" and "Logistics Owners" en wys sinvolle toestemming vlakke vir elk en die minimum bedrag wat nodig is vir die gebruikers hul werk te doen.

Ander nuttige inligting:

As jy dit so ver:

Please let me know your thoughts via the comments or email me. If you know other good references, asseblief nie dieselfde!

Technorati Tags:

Vinnige en maklike: Skep 'n Data View Web Deel (DVWP)

Daar is 'n rykdom van baie inligting op die WSS 3.0 Data View Web Deel (DVWP) on the web from several sources. Egter, I found it to be surprisingly difficult to find information on this first very basic step. Here is another article in the "quick and easy" reeks dit aan te spreek.

Volg hierdie stappe om 'n data vertoning web deel te skep (DVWP). They are based on an "Announcements" web deel, maar van toepassing op die meeste lyste.

  1. Skep 'n Announcements web deel en voeg dit by 'n webwerf.
  2. Maak die webwerf in SharePoint Designer.
  3. Maak die site se default.aspx.
  4. Select the Announcements web part and right-click.
  5. Uit die konteks kieslys, kies "Skakel na XSDieT Data View ".

SharePoint Designer in kennis stel dat hierdie webwerf is nou op maat van die werf definisie. Dit is nie noodwendig sleg nie, maar daar is 'n belangrike implikasies (prestasie, gradeer, ander) wat is buite die bestek van hierdie klein "Vinnig en maklik" inskrywing. To get more information on this subject, Ek beveel beide boeke hier sowel as jou gunsteling internet soek.

Bevestig dat jy het dit reg:

  1. Sluit en heropen die webblaaier (per ongeluk vermy weer plaas die oorspronklike "voeg 'n nuwe web deel").
  2. Kies die web deel arrow drop-down en kies "Verander Gedeelde Web Deel" van die spyskaart.
  3. Die instrument paneel maak aan die regterkant.
  4. Die paneel het verander van sy gewone opsies aan hierdie:
beeld

“Kan nie die lys skedule kolom eiendom van die SharePoint lys” — beskrywing / werk-arounds

Hierdie week, ons uiteindelik 'n probleem wat deur 'n afgeleë gebruiker aangemeld is gereproduseer: Toe sy probeer om die inhoud van 'n lys uit te voer om te presteer, dinge sal lyk om te begin werk, maar dan Excel sal pop-up 'n fout: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

Ek het die Inter en bietjie spekulasie, maar niks gesien 100% definitive. Hence, hierdie pos.

Die probleem: Uitvoer van 'n oog om te presteer met 'n datum (datum = die datatipe van die kolom).

Wat vir ons gewerk het: Convert the date to a "single line of text". Toe, skakel dit terug na 'n datum.

That solved it. It was nice to see that the conversion worked, eintlik. It was quite nervous that converting things this way would fail, but it did not.

Hierdie fout het gegooi 'n groot skaduwee oor die datum datatipe in die kliënt se gedagtes, so ons gaan soek na 'n definitiewe antwoord van Microsoft en hopelik sal ek pos en werk hier in die volgende kort periode van tyd saam met hul amptelike antwoord en hotfix inligting.

Ander verwysings:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<einde>

Skryf in op my blog.

Technorati Tags: ,

Vinnige en maklike: Stuur 'n e-pos met ingeboude hyperlink van SharePoint Designer workflow

Een of twee keer per maand, iemand poste 'n forum vraag: "Hoe kan ek skakels na URL's wat klikbare van 'n SharePoint Designer e-pos?"

Aangebied sonder enige verdere kommentaar: (goed, daar eintlik verder kommentaar lewer na die beeld):

beeld

Becky Isserman volg met 'n nuttige verduideliking oor hoe om 'n skakel na 'n item in te sluit in die e-pos: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Nuwe vrystelling: SharePoint Designer Workflow Uitbreidings (stringmanipulasie funksies)

UPDATE: Kyk hier my gedagtes oor die kommersialisering van hierdie projek: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Ek is besig om op van my Codeplex projek wat tans gefokus op die verskaffing van stringmanipulasie uitbreidings aan werkstromen via SharePoint Designer.

Kyk hier vir meer inligting:

Projek huis: http://www.codeplex.com/spdwfextensions

Release: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Weergawe 1.0 sluit die volgende nuwe funksies:

Funksie Description (indien nie dieselfde as Netto funksie)
Num-inskrywings() Retour volgens die aantal inskrywings" in a string as per a specified delimiter.

Byvoorbeeld: Num-entries in a string "a,b,c" with delimiter "," = 3.

Entry() Returns the nth token in a string as per a specified delimiter.
Lengte String.Length
Vervang() String.Replace()
Bevat() String.Contains()
Returns the word "true" or the word "false".
Substring(begin) String.Substring(begin)
Substring(begin,lengte) String.Substring(begin,lengte)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returns the word "true" or the word "false".
EndsWith() String.EndsWith()
Returns the word "true" or the word "false".

'N BDC looptyd fout verduidelik

Ek laat 'n BDC fout hierdie week wat gemanifesteer op die gebruikerskoppelvlak en in die 12 Hive log tydens looptyd.

Eerste, Dit verskyn in die gebruikerskoppelvlak:

Kon dit nie vind velde al die Identifier waardes te voeg om korrek uit te voer 'n SpecificFinder MethodInstance met Naam … Maak seker invoerparameters het TypeDescriptors wat verband hou met elke Identifier gedefinieer vir hierdie Entiteit.

Hier is 'n skerm prent:

clip_image001

Ek kan ook veroorsaak dat hierdie boodskap verskyn in die 12 die korf log by sal (using my patented high-tech-don’t-try-this-at-home "Geheimsinnige foute" metode):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Die identifiseerder waarde ”, van die tipe ”, is, is ongeldig. Expected Identifier value of Type ‘System.String’. by Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) by Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entiteit entiteit, Object[] userValues, LobSystemInstance lobSystemInstance) by Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(View desiredView) by Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() by Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Ek het rond gesoek en het 'n paar leidrade in die MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison dat my maatskappy squirreled weg op 'n bediener en het my probleem om te besef.

In my ADF, Ek is verbind tot 'n SQL databasis soos aangedui:

            <Eiendom Naam="RdbCommandText" Tipe="System.String">
              <![CDATA[
                KIES
                      , CARRIER_ID, EFFDT, Ses, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      COUNTRY, Adres1, Adres2, ADDRESS3, ADDRESS4, STAD, Num1, Num2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, STAAT, POS, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, PHONE, UITBREIDING, FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                WAAR
                  (SETID <> 'Aandeel') en
                  (verlaag(CARRIER_ID) >= Laer(@ MinID)) en
                  (verlaag(CARRIER_ID) <= Laer(@ MaxId)) en
                  (verlaag(Ses) SOOS laer(@ InputDescr))
                ]]>
            </Eiendom>

Ek is met dien verstande dat SQL van 'n DBA persoon en ek gegee om te verstaan ​​dat dit 'n spesiale view they created just for me. The unique key there is CARRIER_ID.

Hier is die fout wat ek lei:

      <Merktekens>
        <Identifiseer Naam="CARRIER_ID" Type Name="System.String" />
        <Identifiseer Naam="Ses" Type Name="System.String" /> 
</Merktekens>

Iewers langs die lyn, Ek het daarin geslaag om myself te verwar oor die betekenis van <Merktekens> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Dit het alles uitgewerk.

I hope this saves someone some grief 🙂

Technorati Tags: , , ,

Kan jy nie Klits SharePoint se bereik

Gedurende die laaste twee dae, I have participated in two meetings during which we presented the results of a SharePoint project. The CIO and his team joined the first meeting. That’s standard and not especially notable. The IT department is obviously involved in an enterprise rollout of any technology project. The second meeting expanded to include a V.P. van bemarking, Verskeie direkteure verteenwoordig HR, Logistiek, Vervaardiging, Kapitaalprojekte, Gehalte, Aankoop, Korporatiewe ontwikkeling en ander departemente (Sommige van hulle is selfs nie direk betrokke in die huidige fase). That’s a mighty wide audience.

In my vorige lewe, I primarily worked on ERP and CRM projects. They both have a fairly wide solution domain but not as wide as SharePoint. To be fully realized, SharePoint projects legitimately and necessarily reach into every nook and cranny of an organization. How many other enterprise solutions have that kind of reach? Not many.

SharePoint clearly represents an enormous opportunity for those of us fortunate enough to be in this space. It provides a great technical opportunity (wat een of ander manier op sy kop gedraai hier under "Technologies You Must Master"). But even better, SharePoint exposes us to an extensive and wide range of business processes through these engagements. How many CRM specialists work with the manufacturing side of the company? How many ERP consultants work with human resources on talent acquisition? SharePoint exceeds them both.

Soos enigiets, dit is nie volmaak, maar dit is 'n goeie verdoem plek om te wees.

Vir die liefde van [Vul in jou mees geliefde persoon / hoër], don’t change the ‘Title’ site kolom.

Op die SharePoint forums, someone occasionally asks about "changing the label of Title" or about "removing title from lists".

Bottom line: Doen dit nie!

Ongelukkig, die gebruikerskoppelvlak kan 'n een-rigting verandering van die kolom etiket soos:

beeld

Title is a column associated with the "Item" die tipe inhoud. Baie, baie, baie CT se gebruik van hierdie kolom en as jy dit hier verander, it ripples out everywhere. There’s a good chance that you didn’t intend for that to happen. You were probably thinking to yourself, "I have a custom lookup list and ‘Title’ maak net nie sin as 'n kolom naam, so I’m going to change it to ‘Status Code’ and add a description column." But if you follow through on that thought and rename ‘Title’ to ‘Status Code’, elke lys se titel (insluitend dokument biblioteke) changes to "Status Code" en jy sal waarskynlik het nie van plan om dit om te gebeur.

Die werklike probleem is dat hierdie is 'n een-rigting verandering. The UI "knows" that "title" is a reserved word. So, if you try and change "Status Code" back to "Title", Dit sal verhoed dat jy en het jy nou geverf jouself in 'n hoek using paint that never dries 🙂

So wat gebeur as jy dit reeds verander? I haven’t seen the answer we all want, which is a simple and easy method to change the label back to ‘Title’. Right now, the best advice is to change it to something like "Doc/Item Title". That’s a generic enough label that may not be too jarring for your users.

Ek het 'n paar ander idees wat op my te-doen lys van dinge om navorsing:

  • Kontak Microsoft.
  • Iets te doen met die voorwerp model, Miskien in samewerking met 'n funksie.
  • Uit te vind die databasis skedule en die hand te werk SQL. (Jy moet kontak met Microsoft voor om dit te doen al; sal dit waarskynlik tot niet u ondersteuning kontrak).

As iemand weet hoe om dit op te los, post a comment.

Werk laatmiddag, 11/15: Ek het gevind dat hierdie skakel wat beskryf 'n metode vir die skep van 'n tipe van die lys wat nie 'n titel kolom: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

Die BDC ADF en jou vriend, CDATA

Ek het opgemerk 'n paar ongemaklike en onnodige hand-enkodering van RdbCommandText in 'n paar voorbeelde (MSDN dokumentasie).

Ek wou daarop te wys nuwelinge BDC dat opdragte binne-in 'n CDATA tag kan toegedraai word in hul "natuurlike" form. So, hierdie ongemaklike konstruksie:

<Eiendom Naam="RdbCommandText" Tipe="System.String">
KIES dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement van dbo.MCRS_SETTLEMENT
WAAR (ID &gt;= @ MinID) EN (ID &Dit;= @ MaxId)
</Eiendom>

kan beter verteenwoordig op hierdie manier:

<Eiendom Naam="RdbCommandText" Tipe="System.String">
<![CDATA[
KIES dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement van dbo.MCRS_SETTLEMENT
WAAR (ID >= @ MinID) EN (ID <= @ MaxId)
]]>
</Eiendom>

</einde>

BDC Voorbeeld

Inleiding tot BDC

Funksionele Voorbeeld: BDC ADF wat gekoppel is aan die SQL databasis met ingeboude gebruikersnaam en wagwoord

I needed to wire up MOSS to a SQL database via BDC. For testing/POC purposes, I wanted to embed the SQL account user id and password in the ADF. Starting with hierdie sjabloon (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Ek het 'n ADF wat gekoppel is aan 'n bepaalde SQL bediener byvoorbeeld en stompe in met 'n spesifieke gebruiker-ID en wagwoord wat in hierdie uittreksel:

  <LobSystemInstances>
    <LobSystemInstance Naam="ClaimsInstance">
      <Eiendomme>
        <Eiendom Naam="AuthenticationMode" Tipe="System.String">Pass through</Eiendom>
        <Eiendom Naam="DatabaseAccessProvider" Tipe="System.String">SQLServer</Eiendom>
        <Eiendom Naam="RdbConnection Data Bron" Tipe="System.String">werklike bediener  werklike byvoorbeeld</Eiendom>
        <Eiendom Naam="RdbConnection Aanvanklike Winkel" Tipe="System.String">werklike aanvanklike katalogus</Eiendom>
        <Eiendom Naam="RdbConnection Geïntegreerde Security" Tipe="System.String">SSPI</Eiendom>
        <Eiendom Naam="RdbConnection Poel" Tipe="System.String">valse</Eiendom>

        <!-- Dit is die sleutel waardes: -->
        <Eiendom Naam="RdbConnection Gebruiker ID" Tipe="System.String">1Werklike Gebruiker ID</Eiendom>
        <Eiendom Naam="RdbConnection Vergeet" Tipe="System.String">werklike Vergeet</Eiendom>
        <Eiendom Naam="RdbConnection Trusted_Connection" Tipe="System.String">valse</Eiendom>

      </Eiendomme>
    </LobSystemInstance>
  </LobSystemInstances>

Dit is nie 'n beste praktyk, but it’s useful for a quick and simple configuration for testing. This was surprisingly difficult to figure out. I never found a functional example with search keywords:

  • ADF ingeboude id en wagwoord
  • insluit gebruiker-ID en wagwoord in ADF
  • insluit gebruiker-ID en wagwoord in ADF BDC
  • sharepoint BDC primer
  • sharepoint embed gebruiker-ID en wagwoord in ADF

</einde>

Skryf in op my blog.