Bu makalemizde SharePoint Workflow ile elevated permission nasıl tanımlanması gerektiğini adım adım yazıyor olacağım. SharePoint Online tarafında eventreceiver kullanamadığımız için business işlemleri workflow ile çözüyoruz, bu sebeble ihtiyacınız olması durumunda aşağıdaki adımları sağlayarak elevated permission ile gerekli işlemlerinizi gerçekleştirebilirsiniz.
Not: İşlemlere başlamadan önce SharePoint tarafında workflow yüklenmiş olması ve app ayarlarının configure edilmesi gerekiyor.
Workflow to use app permissions feature SharePoint site üzerinde aktif etme
İlk adım olarak SharePoint içerisinde uygulama izinlerine izin veren feature aktif etmemiz gerekiyor.
- Settings ibaresine tıklayalım.
- Yukarıda görüldüğü gibi Site Settings diyelim.
- Site Action -> Manage Site Feature
- Ardından Workflows can use app permissions feature aktifleştirelim.
Workflow için permission tanımlama
Genellikle iş akışı site içeirsinde tüm erişmesi ve yetkisel işlemleri yapabilmesi için full control permission tanımlaması yapılmalıdır. Fakat ihtiyacınıza göre belirleyebilirsiniz. Yetki tanımlamak için ilk olarak workflow idsini elde etmemiz gerekiyor.
- Settings ibaresine tıklayalım.
- Yukarıda görüldüğü gibi Site Settings diyelim.
- Users and Permissions -> Site app permissions
- “|” ve “@” arasındaki guid kopyalanmalıdır. Bu workflow id’sini temsil etmektedir.
- Id elde ettikten sonra aşağıdaki url gitmemiz gerekiyor.Example: http://{hostname}/{the Site Collection}/_layouts/15/appinv.aspx.
- Açılan ekran içerisinde yer alan App Id yapıştırıp Lookup butonuna basalım.
- Grant full permission için Permissions Request XML eklemeniz gerekiyor.
-
<AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" /> </AppPermissionRequests>
- Create diyelim.
- Trust It diyelim.
Workflow için şuanda gerekli yetkilerimizi tanımladık, Visual Studio veya SharePoint Designer üzerinden workflow oluşturup test edebilirsiniz.