# Roller

inSCADA platformu backend de temelde iki seviyede yetkilendirme kontrolü yapmakdır. Bunlar Admin ve User dır.

Admin : Geliştirme yetkisine sahip kullanıcılara verilir. Admin yetkisine sahip kullanıcılar tüm geliştirme faaliyetlerini gerçekleştirebilirler.

User : Operatörlere verilen yetki seviyesidir.&#x20;

Diğer roller User rolü ile aynı seviyededir. Fakat geliştirici tarafından bu roller platform içerisinde farklı yetki sınırlandırmaları ile kullanılabilir.&#x20;

* Admin
* User
* Engineer
* Operator
* Integrator
* Expert
* Custom

![Resim 1 : Roles HpmePage](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/M6izkSozONFpHT51Ig4G/Resim%201%20roller%20ana%20sayfa.jpg)

Resim 1'de roller ana menüyü görmekteyiz. Menü üç bölüme ayrılmıştır. Üst " roles " alanında oluşturulan rol isimleri görüntülenebilinmektedir. Alt sol alanda bulunan " permission " menüsünde seçili olan rolün hangi izinlere sahip olduğunun belirlendiği menüdür. Son olarak sağ alt bölümde " menü " alanında ilgili rolün hangi menülere erişiminin olacağının belirlendiği bölümdür.&#x20;

## Role Add/Edit Form

Role alanı , inSCADA'ya erişim sağlayacak kullanıcılara verilmek üzere belirlenen rol'leri belirtmektedir. Oluşturulan roller yetkilendirme konusunda önem göstermektedir. Rol bazlı olarak ekran , menu, düzenleme, yeni kayıt ekleme, izleme vb gibi yetkilendirme yapılmasını sağlamaktadır. Resim 1'de gösterildiği gibi ekranın üst bölümünde bulunan " Role " alanının sağ üst köşesinde bulunan ![](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/no5yegozFMp5DU8cm5Xh/add%20ikonu.jpg) add ikonu ile yeni rol tanımlayabilir, ![](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/Xz8U4cFJlRqxfAXH5f8Q/edit%20ikon.jpg) edit ikonu ile mevcut rolleri düzenleyebilir, ![](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/PqPA0ADeAFxCzfvDTgpx/silme%20ikonu.jpg) sil ikonu ile oluşturulan rolleri silebilirsiniz. Açılan form üzerinden role ismini yazmanız yeterli olacaktır.

![Resim 2 : Role Add/Edit Form](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/7tPNnRQgjl0yXqFkm6oY/resim%202%20role%20add%20edit%20form.jpg)

## Role's Permission Add/Edit Form

Persmission alanı, oluşturulan rollerin modüllerde , ekranlarde yapılabilen işlemlerden hangi işlemleri ( yeni kayıt oluşturma, var olan kaydı düzenleme , silme , sadece izleme vb gibi ) yapabileceği belirlenmektedir.&#x20;

Roles ekranının sağ alt köşesinde bulunan " Permission " bölümünün sağ üst köşesinde bulunan ![](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/no5yegozFMp5DU8cm5Xh/add%20ikonu.jpg) ikonu ile forma ulaşaral izinler ekleyebilir, ![](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/PqPA0ADeAFxCzfvDTgpx/silme%20ikonu.jpg) sil ikonu ile var olan izinleri kaldırabilirsiniz. Formun üst alanında bulunan check all ayar alanı ile tüm izinleri verebilir, kaldırabilirsiniz.

![Resim 3 : Role Permission Add/Edit Form](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/nzZIwhSsoOQeqP6UdWE2/resim%203%20role%20permission%20add%20edit%20form.jpg)

## Role's Permission Menu Add/Edit Form

Menu alanı, oluşturulan rollerin ana ekranın solunda bulunan menü listesinde hangi menülere ulaşabileceğinin belirlendiği alandır.

Ekranın sağ alt bölümünde bulunan " menu " alanında gösterilir, ve bu alanın sağ üst köşesinde bulunan ![](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/no5yegozFMp5DU8cm5Xh/add%20ikonu.jpg) add ikonu ile yeni menü izni eklenebilir, ![](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/PqPA0ADeAFxCzfvDTgpx/silme%20ikonu.jpg) sil ikonu ile daha önce izin verilen menüler silinebilinir. Check / uncheck all alanı ile tüm izinleri verilebilinip, kaldırabilinmektedir.

![Resim 4 : Menu Add / Edit Form](https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/MiiRV7VogJIaVd6PSvIl/resim%204%20role%20permission%20menu%20add%20edit%20form.jpg)

{% hint style="info" %}
inSCADA platformu içerisinde kullanıcılar üzerinde de yetkilendirme seviyeleri tanımlayabilirsiniz. Örneğin bazı kullanıcıların kontrol yetkisini kısıtlayabilir, bir takım değerleri görmesini engelleyebilirsiniz. Bunun için ins.getUserInfo API'sinin kullanım örneklerini inceleyebilirsiniz.
{% endhint %}
