СхареПоинт Безбедност Основи Прајмер / Избегавајте уобичајене замке

УПДАТЕ 12/18/07: Погледајте Пола Лиебранд је чланак за неке техничке последица уклањања или мењања подразумеваних имена групе (види свој коментар испод, као и).

Преглед:

SharePoint security is easy to configure and manage. Међутим, 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. (Признајем да имају овај проблем сам). This blog entry hopefully provides a useful SharePoint security primer and points towards some security configuration best practices.

Важна напомена:

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 пошаљи ми. I’ll make corrections post haste.

Основи:

За потребе овог прегледа, постоје четири основна аспекта безбедности: Корисници / групе, сецурабле објекти, нивое дозвола и наслеђивање.

Корисници и групе разбити на:

  • Појединачни корисници: Повукао из активног директоријума или створио директно у СхареПоинт.
  • Групе: 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" на одређени сецурабле објекта.

Сецурабле објекти разбити на најмање:

  • Сајтови
  • Библиотеке докумената
  • Појединачне ставке у листама и библиотекама докумената
  • Фолдери
  • Разни БДЦ подешавања.

Постоје други објекти сецурабле, али добијате слику.

Нивое дозвола: Скуп зрнастог / low level access rights that include such things as create/read/delete entries in lists.

Наслеђе: 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.

Корисници и групе односе се на објекте преко сецурабле нивоима дозвола и наслеђа.

Најважнијих безбедносних правила да би се схватило, евер 🙂 :

  1. Групе су једноставно колекције корисника.
  2. Групе су глобални унутар колекције локација (и.е. не постоји таква ствар као што је група дефинисана на нивоу локације).
  3. Назив групе не издржи, група не, у себе и, have any particular level of security.
  4. Groups have security in the context of a specific securable object.
  5. Можете да доделите различите нивое дозвола у истој групи за сваки објекат сецурабле.
  6. Веб апликација политика адут све ово (види доле).

Безбедносне администратори изгубљени у мору групе и корисничке уносе могу увек ослонити на ових аксиома да управљају и разумели своју безбедносну конфигурацију.

Уобичајене замке:

  • Група имена лажно имплицира дозволу: Оут оф тхе бок, 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" група не може да допринесе уопште, али само чита (на пример). This would not be a good idea, очигледно, јер би било веома збуњујуће.
  • Групе нису дефинисани на нивоу локације. 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" веза. 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.
  • Групе чланство не зависе од локације (и.е. она је свуда иста група се користи): Consider the group "Owner" и две локације, "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, Можда ћу приступ људи и група линкова преко ХР сајту, 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. Заправо, I’m removing her from the global Owners group. Hilarity ensues.
  • Неуспех да именује групе на основу специфичне улоге: 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, Требао сам створио две нове групе: "HR Owners" and "Logistics Owners" и доделите разумне нивое дозвола за сваког и минималног износа потребног за оним корисницима да раде свој посао.

Остале Корисни Референце:

Уколико сте направили овај је далеко:

Please let me know your thoughts via the comments or email me. If you know other good references, молим те исти!

Тецхнорати Тагс:

Брзо и лако: Креирате дата сегмент Виев Веб (ДВВП)

Постоји богатство од великог информација о складиłтење орушја 3.0 Подаци Погледај Веб сегмент (ДВВП) on the web from several sources. Међутим, 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" серија да се тиме позабави.

Следите ове кораке да креирате дата део приказа веб (ДВВП). They are based on an "Announcements" Веб сегмент, већ примењује на већини листа.

  1. Креирање веб Обавештења део и да га додате на сајту.
  2. Отворите сајт у СхареПоинт Десигнер.
  3. Отворите дефаулт.аспк на сајта.
  4. Select the Announcements web part and right-click.
  5. Из контекст менија, select "Convert to XSLT Data View".

СхареПоинт Десигнер вас обавештава да овај сајт се сада прилагођене од свог сајта дефиниције. То није нужно лош, али постоје битне импликације (перформансе, упграде, други) which are beyond the scope of this little "Quick and Easy" улазак. To get more information on this subject, Препоручујем обе књиге овде као и ваш омиљени интернет претраживач.

Потврдите да сте то урадили правилно:

  1. Затворите и поново отворите веб прегледач (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" из менија.
  3. Алатка Панел отвара се право.
  4. Панел се променила од својих уобичајених постављених опција за ово:
слика

“Не могу добити попис имовине шеме колоне из СхареПоинт листе” — опис / заобилазне

Ове недеље, смо коначно репродуковати проблем који је пријављен од стране удаљеног корисника: Када је покушала да извози садржај листе у Екцел, ствари би било да почну да раде, али онда це се појавити за Екцел грешку: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

Тражио сам на Интернетс и видела неке спекулације, али ништа 100% definitive. Hence, овај пост.

Проблем: Извоз у Екцел приказ који садржи датум (датум = тип података у колони).

Шта је радио за нас: Convert the date to a "single line of text". Онда, конвертовати га назад до датума.

That solved it. It was nice to see that the conversion worked, заправо. It was quite nervous that converting things this way would fail, but it did not.

Овај буг је бачена велику сенку података датуму типа у виду клијента, па ћемо да се траже од дефинитивног одговора из Мицрософта, и надам се да ћу писати и ажурирате овде у наредном кратком временском периоду са њиховог званичног одговора и хитних информација.

Остале референце:

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

<крај>

Претплатите се на мој блог.

Тецхнорати Тагс: ,

Брза и једноставна: Пошаљите емаил поруку са уграђеном хипервезу из СхареПоинт Десигнер посла

Једном или два пута месечно, Поруке неко питање форуму: "How do I include hyperlinks to URL’s that are clickable from a SharePoint Designer email?"

Представљен без даљег коментара: (добро, заправо даље постоји коментар после слике):

слика

Беки Иссерман прати користан објашњење о томе како да уградите везу до ставке у е-поруци: 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

Ново издање: СхареПоинт Десигнер Воркфлов Екстензије (стринг манипулације функције)

УПДАТЕ: Погледајте овде за мојим мислима на овај пројекат комерцијализације: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Био сам заузет радом на свом Цодеплек пројекта који је тренутно фокусиран на пружање стринг манипулације проширења токове посла креира преко СхареПоинт Десигнер.

Погледајте овде за више детаља:

Пројекат кући: http://www.codeplex.com/spdwfextensions

Релеасе: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Верзија 1.0 обухвата следеће нове функције:

Функција Опис (ако не и исто као Нето функција.)
Број ставки-() Returns the number "entries" in a string as per a specified delimiter.

На пример: Num-entries in a string "a,Б,Ц" with delimiter "," = 3.

Улазак() Returns the nth token in a string as per a specified delimiter.
Дужина Стринг.Ленгтх
Заменити() Стринг.Реплаце()
Садржи() Стринг.Цонтаинс()
Returns the word "true" or the word "false".
Субстринг(почетак) Стринг.Субстринг(почетак)
Субстринг(почетак,дужина) Стринг.Субстринг(почетак,дужина)
ТоУппер() Стринг.ТоУппер()
ТоЛовер() Стринг.ТоЛовер()
СтартсВитх() Стринг.СтартсВитх()
Returns the word "true" or the word "false".
ЕндсВитх() Стринг.ЕндсВитх()
Returns the word "true" or the word "false".

БДД Рунтиме Еррор објаснио

Сам изазвао грешку БДЦ ове недеље да се манифестује на корисничком интерфејсу и 12 Дневник кошница у рунтиме-.

Прво, Овај се појавио у корисничком интерфејсу:

Није могуће пронаћи поља да додате све вредности идентификатор правилно извршавање СпецифицФиндер МетходИнстанце са Име … Уверите се улазни параметри су ТипеДесцрипторс повезане са сваким идентификатора дефинисаног за овај ентитет.

Ево снимак екрана:

цлип_имаге001

Такође може изазвати ову поруку да се појави у 12 Дневник кошница по вољи (using my patented high-tech-don’t-try-this-at-home "mysterious errors" метод):

11/14/2007 09:24:41.27 w3wp.exe (0к080Ц) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: Систем.ИнвалидОператионЕкцептион: Идентификатор вредност ”, типа ”, је неважећи. Expected Identifier value of Type ‘System.String’. на Мицрософт.Оффице.Сервер.АпплицатионРегистри.МетадатаМодел.Ентити.ФиндСпецифиц(Објекат[] субИдентифиерВалуес, ЛобСистемИнстанце лобСистемИнстанце) на Мицрософт.СхареПоинт.Портал.ВебЦонтролс.БдцЦлиентУтил.ФиндЕнтити(Ентитетски ентитет, Објекат[] усерВалуес, ЛобСистемИнстанце лобСистемИнстанце) на Мицрософт.СхареПоинт.Портал.ВебЦонтролс.БусинессДатаИтемБуилдер.ГетЕнтитиИнстанце(Погледај десиредВиев) на Мицрософт.СхареПоинт.Портал.ВебЦонтролс.БусинессДатаДетаилсВебПарт.ГетЕнтитиИнстанце() на Мицрософт.СхареПоинт.Портал.ВебЦонтролс.БусинессДатаДетаилсВебПарт.СетДатаСоурцеПропертиес()

Ја око тражили и нашли неке трагове у МСДН форуму, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Тед Паттисон да моје компанија скуиррелед је далеко на серверу и схватио мој проблем.

У мом АДФ, Ја сам повезивање са СКЛ базом података као што је приказано:

            <Имовина Име="РдбЦоммандТект" Тип="Систем.Стринг">
              <![ЦДАТА[
                СЕЛЕЦТ
                      , ЦАРРИЕР_ИД, ЕФФДТ, Десцр, ЕФФ_СТАТУС, ТАКСПАИЕР_ИД, НЕТВОРК_ИД, ФРТ_ФОРВАРД_ФЛГ, АЛТ_НАМЕ1, АЛТ_НАМЕ2, ЛАНГУАГЕ_ЦД,
                      ЗЕМЉА, Аддресс1, Адреса2, АДДРЕСС3, АДДРЕСС4, ГРАД, Бр1, Бр2, ХОУСЕ_ТИПЕ, АДДР_ФИЕЛД1, АДДР_ФИЕЛД2, АДДР_ФИЕЛД3,
                      ОКРУГ, ДРЖАВНА, ПОШТАНСКЕ, ГЕО_ЦОДЕ, ИН_ЦИТИ_ЛИМИТ, ЦОУНТРИ_ЦОДЕ, ТЕЛ, ПРОДУЖЕЊЕ, ФАКС, ЛАСТ_ЕКСП_ЦХК_ДТТМ, ФРЕИГХТ_ВЕНДОР,
                      ИНТЕРЛИНК_ДЛЛ, ТМС_ЕКСЦЛУДЕ_ФЛГ
                 (нолоцк)
                ГДЕ
                  (СЕТИД <> 'Схаре') и
                  (снизити(ЦАРРИЕР_ИД) >= Нижи(@ МинИД)) и
                  (снизити(ЦАРРИЕР_ИД) <= Нижи(@ МакИд)) и
                  (снизити(Десцр) КАО ниже(@ ИнпутДесцр))
                ]]>
            </Имовина>

Био сам под условом да из СКЛ дБА особе и ја дао да схвате да је посебан view they created just for me. The unique key there is CARRIER_ID.

Овде је грешка сам увео:

      <Идентификатори>
        <Идентификовати Име="ЦАРРИЕР_ИД" ТипеНаме="Систем.Стринг" />
        <Идентификовати Име="Десцр" ТипеНаме="Систем.Стринг" /> 
</Идентификатори>

Негде дуж линије, Успео сам да се мешају у смислу <Идентификатори> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Све је радила.

Надам се да ово чува неко неки бол 🙂

Тецхнорати Тагс: , , ,

Не може да победи у СхареПоинт Реацх

Током последња два дана, 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. из маркетинга, представљају директори неколико ХР, Логистика, Производња, Капитални пројекти, Квалитет, Куповина, Корпоративни развој и других одељења (од којих су неки директно укључени ни у садашњој фази). That’s a mighty wide audience.

У мом претходном животу, 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 (који се некако окренуо наглавачке овде 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.

Као и било шта, није савршен, али је проклето добро место да се.

За љубав [попуните свој најомиљенијих особа / вишег бића], don’t change the ‘Title’ Сајт колона.

На СхареПоинт блог, someone occasionally asks about "changing the label of Title" or about "removing title from lists".

Боттом лине: Немој то да радиш!

Нажалост, кориснички интерфејс омогућава једносмерну промену те колоне ознаци као што је приказано:

слика

Title is a column associated with the "Item" тип садржаја. Многи, многи, многи ЦТ користе ову колону, а ако га промените овде, 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’ једноставно нема смисла као име колоне, 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’, Свака листа наслов (укључујући библиотеке докумената) changes to "Status Code" и вероватно није намеравао да се то деси.

Прави проблем је у томе што је то једносмерна промена. The UI "knows" that "title" is a reserved word. Тако, if you try and change "Status Code" back to "Title", то ће вас спречити и сада сте насликао себе у ћошак using paint that never dries 🙂

Дакле, шта се дешава ако сте већ га променили? 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.

Имам још неке идеје које су на мојој то-до листа ствари за истраживање:

  • Контакт Мицрософт.
  • Урадите нешто са објектним моделом, Можда у комбинацији са функцијом.
  • Схватите шему базе података и ручно ажурирање СКЛ. (Требало би да контактирате Мицрософт пре него што ово ипак; вероватно ће поништити уговор за подршку).

Ако неко зна како да се реши ово, пошаљите коментар.

Упдате касно поподне, 11/15: Нашао сам овај линк који описује метод за стварање тип листе који нема колону титулу: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

БДЦ АДФ и ваш пријатељ, ЦДАТА

I’ve noticed some awkward and unnecessary hand-encoding of RdbCommandText in some examples (including MSDN documentation).

I wanted to point out to newcomers to BDC that commands can be wrapped inside a CDATA tag in their "natural" form. Тако, this awkward construction:

<Имовина Име="РдбЦоммандТект" Тип="Систем.Стринг">
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement from dbo.MCRS_SETTLEMENT
ГДЕ (ид &гт;= @MinId) И (ид &То;= @ МакИд)
</Имовина>

can be better represented this way:

<Имовина Име="РдбЦоммандТект" Тип="Систем.Стринг">
<![ЦДАТА[
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement from dbo.MCRS_SETTLEMENT
ГДЕ (ид >= @MinId) И (ид <= @MaxId)
]]>
</Имовина>

</крај>

BDC Primer

Intro to BDC

Функционална Пример: БДЦ АДФ који се повезује са СКЛ базом података са уграђеним корисничко име и лозинку

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 Овај шаблон (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Сам направио АДФ која се повезује са одређеном СКЛ Сервер пример и пријављује са одређеном корисничко име и лозинку и приказани на овом исечку:

  <ЛобСистемИнстанцес>
    <ЛобСистемИнстанце Име="ЦлаимсИнстанце">
      <Некретнине>
        <Имовина Име="АутхентицатионМоде" Тип="Систем.Стринг">Пролаз</Имовина>
        <Имовина Име="ДатабасеАццессПровидер" Тип="Систем.Стринг">СКЛСервер</Имовина>
        <Имовина Име="Извор података РдбЦоннецтион" Тип="Систем.Стринг">стварни сервер  стварни степен</Имовина>
        <Имовина Име="Почетна Каталог РдбЦоннецтион" Тип="Систем.Стринг">Стварни почетни каталог</Имовина>
        <Имовина Име="РдбЦоннецтион Интегрисана безбедност" Тип="Систем.Стринг">СПИ</Имовина>
        <Имовина Име="Уједињавање РдбЦоннецтион" Тип="Систем.Стринг">лажан</Имовина>

        <!-- Ово су кључне вредности: -->
        <Имовина Име="РдбЦоннецтион ИД корисника" Тип="Систем.Стринг">aцтуал ИД корисника</Имовина>
        <Имовина Име="РдбЦоннецтион Лозинка" Тип="Систем.Стринг">Стварни Лозинка</Имовина>
        <Имовина Име="РдбЦоннецтион Трустед_Цоннецтион" Тип="Систем.Стринг">лажан</Имовина>

      </Некретнине>
    </ЛобСистемИнстанце>
  </ЛобСистемИнстанцес>

То није најбоље решење, 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:

  • АДФ ембеддед усерид и лозинку
  • уградити корисничко име и лозинку у АДФ
  • уградити корисничко име и лозинку у АДФ БДД
  • СхареПоинт БДЦ прајмер
  • СхареПоинт Ембед корисничко име и лозинку у АДФ

</крај>

Претплатите се на мој блог.