SharePoint Təhlükəsizlik əsasları Primer / Ümumi Pitfalls çəkinin

UPDATE 12/18/07: U mənim qrupu adları aradan qaldırılması və ya değiştirmeyle bəzi texniki nəticələrinin Paul Liebrand məqaləsi bax (aşağıda həmçinin onun comment bax).

Baxış:

SharePoint security is easy to configure and manage. Lakin, 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. (Mən bu problem özümü olan etiraf). This blog entry hopefully provides a useful SharePoint security primer and points towards some security configuration best practices.

Vacib Qeyd:

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 Mənə e-poçt. I’ll make corrections post haste.

Əsas:

Bu icmal məqsədləri üçün, təhlükəsizlik üçün dörd fundamental aspektləri var: Vaxtı / Qruplar, securable obyektləri, icazə səviyyələri və vərəsəlik.

İstifadəçilər və Qruplar to qırmaq:

  • Fərdi istifadəçilər: Active Directory çəkilmiş və ya birbaşa SharePoint ildə yaradılmışdır.
  • Qruplar: 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" xüsusi securable obyekt.

Securable obyektləri ən azı qırmaq:

  • Saytlar
  • Document kitabxana
  • Siyahıları və sənəd kitabxana fərdi maddələr
  • Folders
  • Müxtəlif BDC parametrləri.

Başqa securable obyektləri, ancaq şəkil almaq.

Icazə səviyyələri: Dənəvər bir paket / low level access rights that include such things as create/read/delete entries in lists.

Miras: 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.

Istifadəçilər və qruplar icazə səviyyələri və vərəsəlik vasitəsilə securable obyektləri ilə bağlı.

Anlamaq üçün ən əhəmiyyətli Təhlükəsizlik qaydaları, Ever 🙂 :

  1. Qruplar sadəcə istifadəçilər kolleksiyaları var.
  2. Qruplar bir site kolleksiya daxilində qlobal var (i.e. bir site səviyyəsində müəyyən bir qrup kimi bir şey yoxdur).
  3. Qrup adı withstanding deyil, qruplar yoxdur, özləri və, have any particular level of security.
  4. Groups have security in the context of a specific securable object.
  5. Siz hər securable obyekt üçün eyni qrupa müxtəlif icazə səviyyələri təyin edə bilər.
  6. Web proqram siyasəti qozu bütün bu (aşağıya bax).

Qrup və istifadəçi siyahıları bir dəniz məğlub Təhlükəsizlik administratorları həmişə təhlükəsizlik konfiqurasiya idarə etmək və anlamaq üçün bu aksiomatika etibar edə bilərsiniz.

Ümumi pitfalls:

  • Qrupu adları yalan icazə demək: Qutusu həyata, 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" qrup bütün kömək edə bilməz, lakin yalnız oxumaq (məsələn). This would not be a good idea, açıq-aydın, çox şaşırtıcı ola bilərdi.
  • Qruplar bir site səviyyəsində müəyyən deyil. 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" keçid. 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.
  • Qruplar üzvlük site asılı olaraq fərqlənə deyil (i.e. hər yerdə qrup istifadə olunur eyni): Consider the group "Owner" və iki saytlar, "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, Mən HR site vasitəsilə adamların və qrupların links daxil ola bilər, 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. Faktiki olaraq, I’m removing her from the global Owners group. Hilarity ensues.
  • Xüsusi rol əsasında qrupların adını etməyən: 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, Mən iki yeni qruplar yaradılmış olmalıdır: "HR Owners" and "Logistics Owners" və hər biri üçün həssas icazə səviyyələri və onların iş o istifadəçilər üçün tələb olunan minimum məbləği tapşırılsın.

Digər Faydalı istinadlar:

Siz bu yaptıysanız qədər:

Please let me know your thoughts via the comments or email me. If you know other good references, Eyni edin!

Technorati Tags:

Tez və asan: Bir Data View Web Part yarat (DVWP)

Bu WSS böyük informasiya sərvət var 3.0 Data View Web Part (DVWP) on the web from several sources. Lakin, 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" onu həll etmək üçün silsilə.

Bir veri görünüşü web hissəsi yaratmaq üçün bu adımları edin (DVWP). They are based on an "Announcements" Web Part, lakin ən siyahıları müraciət.

  1. Bir Elanlar Web Part yaradın və bir site əlavə edin.
  2. SharePoint Designer bu site açın.
  3. Site default.aspx açın.
  4. Select the Announcements web part and right-click.
  5. Kontekstində menyusundan, select "Convert to XSLT Data View".

SharePoint Designer bu saytda indi site anlayışına özelleştirilmiştir bildirir. Bu mütləq pis deyil, amma əhəmiyyətli təsiri var (icra, təkmilləşdirmək, digər) which are beyond the scope of this little "Quick and Easy" giriş. To get more information on this subject, I kitab həm gəlir burada həmçinin sevimli Internet axtarış.

Düzgün bunu təsdiq edir ki,:

  1. Web browser bağlayın və yenidən açın (to avoid accidentally re-posting the original "add a new web part").
  2. Select the web part’s arrow drop-down and choose "Modify Shared Web Part" menudan.
  3. Bu araç, panel doğru açır.
  4. Paneldə öz adi set seçimlərdən bu dəyişib:
image

“SharePoint siyahıdan siyahısı şeması sütun əmlak ala bilmir” — təsviri / iş arounds

Bu həftə, nəhayət, biz uzaq bir istifadəçi tərəfindən ki, bir problem çoxaltmaq: O Excel siyahısına məzmunu ixrac çalıştığımızda, şeyi iş başlamaq görünmesinden, lakin sonra Excel səhv açılır ki,: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

Mən Internets axtarış və bəzi fərziyyələr, lakin heç bir şey gördüm 100% definitive. Hence, Bu yazı.

Problem: Excel üçün ixrac tarix ehtiva (sütunun tarixi = məlumatları növü).

Bizim üçün nə işləyib: Convert the date to a "single line of text". Sonra, tarixi geri çevirmək.

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

Bu səhv müştərinin nəzərə tarix data type üzərində böyük kölgə atılan edib, biz Microsoft qəti bir cavab tapmaq üçün olacaq və onların rəsmi cavab və düzeltme informasiya ilə zaman növbəti qısa müddətdə inşallah mən yazmaq lazımdır və burada güncelleyin.

Digər istinadlar:

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

<son>

Blog abunə.

Technorati Tags: ,

Sadə və sadə: SharePoint Designer iş dan əlaqədar hiperlink bir e-poçt göndər

Bir və ya iki dəfə ay, kimsə ismarıclarını Forum sual: "Mən SharePoint Designer e tıklanabilir ki URL köprüler necə daxil edirsiniz?"

Daha comment olmadan təqdim: (yaxşı, faktiki olaraq daha image sonra şərh edir):

image

Becky Isserman e-poçt elementin linki bütünləşdirmək üçün necə yararlı bir izahat ilə aşağıdakı: 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

Yeni buraxılış: SharePoint Designer Workflow Extensions (simli manipulyasiya funksiyaları)

UPDATE: Bu layihə kommersiyalaşdırlmasına haqqında mənim fikirlərimi üçün buraya baxın: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Mən SharePoint Designer vasitəsilə yaradılmışdır hazırda axınları üçün simli manipulyasiya uzantıları təmin yönəlmiş olan mənim Codeplex layihə üzərində işləyir məşğul ola bilərsiniz.

Ətraflı məlumat üçün buraya baxın:

LAYİHƏ Ana səhifə: http://www.codeplex.com/spdwfextensions

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

Variant 1.0 aşağıdakı yeni funksiyalar daxildir:

Funksiyası Təsvir (eyni halda. Net funksiyası)
Say-entries() Sayı "entries qaytarır" in a string as per a specified delimiter.

Məsələn: Num-entries in a string "a,b,c" with delimiter "," = 3.

Giriş() Returns the nth token in a string as per a specified delimiter.
Uzunluq String.Length
Dəyişdirmək() String.Replace()
Ehtiva() String.Contains()
Returns the word "true" or the word "false".
Substring(başlamaq) String.Substring(başlamaq)
Substring(başlamaq,uzunluq) String.Substring(başlamaq,uzunluq)
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".

Izah A BDC uzunluğu səhv

Mən istifadəçi interfeysi və özü özünü bu həftə BDC səhv səbəb 12 Hive Giriş vaxtında.

Ilk, Bu istifadəçi interfeysi meydana:

Bütün tanıdan Dəyərlər əlavə etmək üçün sahələri düzgün adı ilə bir SpecificFinder MethodInstance icra tapılmadı … Daxil Parameters bu şəxs üçün müəyyən edilmiş hər bir tanıdan ilə bağlı TypeDescriptors emin.

Burada Ekran resmi var:

clip_image001

Mən də bu mesaj görünür səbəb ola bilər 12 Hive Giriş iradə ilə (using my patented high-tech-don’t-try-this-at-home "Sirli səhvlər" üsul):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Bu tanıdan dəyər ”, Tipi ”, yalnış. Expected Identifier value of Type ‘System.String’. Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific da(Obyekt[] subIdentifierValues, LobSystemInstance lobSystemInstance) Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity da(Şəxs müəssisənin, Obyekt[] userValues, LobSystemInstance lobSystemInstance) Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance da(Məlumatlarına desiredView) Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance da() Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties da()

Mən ətrafında axtarış və bəzi potensial tapılıb MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison ki, şirkət bir server üz squirreled və problem həyata gəlib edib.

Mənim AİF-ci ildə, Kimi bir SQL verilənlər bazası qoşulma alıram:

            <Əmlak Ad="RdbCommandText" Növü="System.String">
              <![CDATA[
                SEÇİN
                      , CARRIER_ID, EFFDT, İndiki tarix, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      ÖLKƏ, Address1, ADDRESS2, ADDRESS3, ADDRESS4, CITY, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, DÖVLƏT, Poçt, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, MƏSLƏHƏT, Faks, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                HARADA
                  (SETID <> "Payı") və
                  (aşağı(CARRIER_ID) >= Aşağı(@ MinID)) və
                  (aşağı(CARRIER_ID) <= Aşağı(@ MaxId)) və
                  (aşağı(İndiki tarix) Aşağı kimi(@ InputDescr))
                ]]>
            </Əmlak>

Mən DBA şəxs ki, SQL verilmiş və mən bunun başa düşürəm ki, verilmiş alıram bir xüsusi view they created just for me. The unique key there is CARRIER_ID.

Burada təqdim edilən səhv:

      <Tanımlayıcıları>
        <Müəyyən Ad="CARRIER_ID" TypeName="System.String" />
        <Müəyyən Ad="İndiki tarix" TypeName="System.String" /> 
</Tanımlayıcıları>

Somewhere xətti boyunca, Mən mənası üzərində özümə çaşdırmağa idarə etdi <Tanımlayıcıları> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Bütün işləyib.

I hope this saves someone some grief 🙂

Technorati Tags: , , ,

SharePoint in məkan Beat bilmir

Son iki gün ərzində, 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. marketing, HR təmsil bir neçə direktoru, Logistics, Emaledici, Capital Layihələr, Keyfiyyət, Alıcılıq, Korporativ inkişafı və digər şöbələri (onlardan bəziləri hətta birbaşa cari mərhələsində cəlb olunub). That’s a mighty wide audience.

Mənim əvvəl həyat, 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 (olan birtəhər baş aktivdir burada 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.

Bir şey kimi, mükəmməl deyil, lakin bu bir məlun yaxşı bir yer var.

Məhəbbət üçün [Sizin ən çox sevilən adam / ali doldurmaq olan], don’t change the ‘Title’ site sütun.

Haqqında SharePoint forumlar, someone occasionally asks about "changing the label of Title" or about "removing title from lists".

Aşağı xətt: Bunu etməyin!

Qubarlı, istifadəçi interfeysi kimi ki, sütun etiketin bir yolla dəyişiklik imkan verir:

image

Title is a column associated with the "Item" Bu məzmun növü. Çox, çox, çox CT bu sütun istifadə və burada dəyişdirmək əgər, 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’ yalnız bir sütun adı kimi məntiqli deyil, 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’, hər siyahısı adı (sənəd kitabxana daxil olmaqla,) changes to "Status Code" və yəqin baş ki, niyyətlərinin olmadığını.

Əsl problem bu bir yolu dəyişdirmək ki,. The UI "knows" that "title" is a reserved word. Belə, if you try and change "Status Code" back to "Title", siz mane olacaq və indi var küncə özünüzü boyalı using paint that never dries 🙂

Siz artıq dəyişib əgər nə olur? 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.

Mən araşdırma şeyi mənim siyahısı haqqında bir neçə başqa fikir var:

  • Əlaqə Microsoft.
  • Obyekt model ilə nəsə, bəlkə bir xüsusiyyət ilə birlikdə.
  • Verilənlər bazası şeması anlamaq və əl SQL güncelleyin. (Siz baxmayaraq bunu əvvəl Microsoft əlaqə olmalıdır; çox güman ki, sizin dəstəyinizə müqavilə ləğv edəcək).

Hər kəs bu həll etmək üçün necə bilir, əgər, Şərh göndərin.

Mərhum günorta Güncelle, 11/15: Mən bir mövzu sütun yoxdur ki siyahı növü yaratmaq üçün bir üsul olduğunu izah edən bu linki tapılmadı: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC AİF və dostunuza, CDATA

Mən bəzi misallar ilə RdbCommandText bəzi yöndəmsiz və lazımsız əl-Encoding fark (MSDN sənədlərin, o cümlədən).

I wanted to point out to newcomers to BDC that commands can be wrapped inside a CDATA tag in their "natural" form. Belə, bu yöndəmsiz tikinti:

<Əmlak Ad="RdbCommandText" Növü="System.String">
Dbo.MCRS_SETTLEMENT.id SEÇİN, dbo.MCRS_SETTLEMENT dən dbo.MCRS_SETTLEMENT.settlement
HARADA (id &GT;= @ MinID) VƏ (id &lt;= @ MaxId)
</Əmlak>

daha yaxşı bu şəkildə təmsil oluna bilər:

<Əmlak Ad="RdbCommandText" Növü="System.String">
<![CDATA[
Dbo.MCRS_SETTLEMENT.id SEÇİN, dbo.MCRS_SETTLEMENT dən dbo.MCRS_SETTLEMENT.settlement
HARADA (id >= @ MinID) VƏ (id <= @ MaxId)
]]>
</Əmlak>

</son>

BDC Primer

BDC üçün Intro

Funksional Misal: BDC AİF ki əlaqədar istifadəçi ID və parol ilə SQL verilənlər bazası bağlanır

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 Bu şablon (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Mən müəyyən bir istifadəçi id və parol ilə xüsusi SQL server instansiya və logs bağlayan bir ADF yaradıldı və bu parçasını göstərilən:

  <LobSystemInstances>
    <LobSystemInstance Ad="ClaimsInstance">
      <Xassələri>
        <Əmlak Ad="AuthenticationMode" Növü="System.String">PassThrough</Əmlak>
        <Əmlak Ad="DatabaseAccessProvider" Növü="System.String">SqlServer</Əmlak>
        <Əmlak Ad="RdbConnection Data Source" Növü="System.String">faktiki server  faktiki instansiya</Əmlak>
        <Əmlak Ad="RdbConnection İlkin Kataloq" Növü="System.String">faktiki ilkin kataloqu</Əmlak>
        <Əmlak Ad="RdbConnection inteqrasiya edilmiş təhlükəsizlik" Növü="System.String">SSPI</Əmlak>
        <Əmlak Ad="Birləşdirilməsi RdbConnection" Növü="System.String">saxta</Əmlak>

        <!-- Bu əsas dəyərlər: -->
        <Əmlak Ad="RdbConnection İstifadəçi ID" Növü="System.String">birctual İstifadəçi ID</Əmlak>
        <Əmlak Ad="RdbConnection Şifrə" Növü="System.String">faktiki Şifrə</Əmlak>
        <Əmlak Ad="RdbConnection Trusted_Connection" Növü="System.String">saxta</Əmlak>

      </Xassələri>
    </LobSystemInstance>
  </LobSystemInstances>

Bu ən yaxşı təcrübə deyil, 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 əlaqədar UserID və şifrənizi
  • ADF istifadəçi ID və şifrəsini bütünləşdirmək
  • ADF bdc istifadəçi ID və şifrəsini bütünləşdirmək
  • SharePoint bdc primer
  • SharePoint embed istifadəçi ID və ADF parol

</son>

Blog abunə.