kouosl/portal-login

Login module for KOUOSL PORTAL

dev-master 2019-01-06 20:10 UTC

This package is auto-updated.

Last update: 2024-04-07 15:38:31 UTC


README

portal-login modülü http://portal.kouosl/ sitesinde yer alan giriş kısmına ek olarak kullanıcıya facebook ve google ile de giriş yapma imkanı veren bir kullanıcı modülüdür. http://portal.kouosl/admin/login/auth adresi ile erişilen backend kısmında giriş yöntemlerinin seçilebildiği bu modül aynı zamanda data gridview yapısını kullanarak, http://portal.kouosl/admin/login/login ile admin kullanıcısına kullanıcıları görüntüleme,silme ve düzenleme imkanı sunarken,http://portal.kouosl/login/login adresiyle de normal kullanıcılara sunulan frontend ile diğer kullanıcıları görüntüleme olanağı vermektedir.

Modül Kurulumu

Bu modülün kullanılabilmesi için daha önceden https://github.com/kouosl/portal adresinde belirtilen kurulum talimatları ile yerel makinanın kurulmuş olması ve ilgili sitelere

  1. Frontend URL: http://portal.kouosl
  2. Backend URL: http://portal.kouosl/admin
  3. Api URL: http://portal.kouosl/api

erişilebiliyor olması gerekmektedir.

Gerekli makina kurumları tamamlandıktan sonra

https://github.com/nejdetsarikaya3802/portal.git 

adresinde ki portal repositorysi clone ya da download edilerek ilgili portal klasöründeki gerekli değişiklikler update edilmelidir. Verilen adresten temin edilen portal klasörünün içersinde vendor dizini bulunmamaktadır. Kurulumun ileri aşamalarında dizine eklenecek dosyalardan bahsedilecektir.

Modül ekleme ve hazır hale getirme

Kullanılmak istenen login modülünü ve ana projeye ait fork edilip değiştirilmiş theme modülünün kullanılabilir hale getirilmesi için portal ana dizininde bulunan "composer.json" dosyası düzenlenilerek "repositories" dizisi içerisine bu iki modül resimde gösterildiği gibi url adresleriyle beraber eklenmelidir.

 "repositories": [
        ...
	    {
            "type": "vcs",
            "url": "https://github.com/nejdetsarikaya3802/portal-login.git"
        },
        {
            "type": "vcs",
            "url": "https://github.com/nejdetsarikaya3802/portal-theme.git"
        },
        ...
 ],

Daha sonra aynı dosya içerisinde bulunan "require" dizisi içerisine de ;

 "require": {
     ...
	"kouosl/portal-login": "dev-develop",
     ...
 },

satırı da eklenmelidir.

Halledilen bu adımların ardından, console ekranında portal dizinine ulaştığımız ve "vagrant up" kodunu kullanarak ayağa kaldırdığımız yerel makinemize "vagrant shh" ile bağlantı kurduktan sonra cd /var/www/portal dizinine erişerek,

 sudo composer self-update

ile eklenilen modüllerin portal/vendor/kouosl altına çekilmesi sağlanır. Bu login modülünde kullanılan giriş yöntemlerinin aktif hale gelebilmesi için portal-login modülü altında bulunan

"yii2-authclient" klasörü portal/vendor/yiisoft içerisine

taşınmalıdır.

client

Modülün çalışmak için ihityaç duyduğu iki database tablosu bulunmaktadır. Bunlardan 1. olan user tablosu sistem girişinin de kullandığı bir tablo olduğundandolayı hazır halde phpMyAdmin de bulunmaktadır. Yapmamız gereken 2. tabloyu da modülü kullanmaya başlamadan önce oluşturmaktır. bunun için modül dizini altında migrations klasörü içinde bulunan "m181226_222711_auth.php" adlı migration dosyasını portal ana dizininde yer alan migrations klasörüne taşımak ve portal dizini altında çalışan konsol ekranında,

 php yii migrate

komutunu çalıştırmaktır. Gelen soruya evet denilerek ilgili tablonun database tarafında oluşması sağlanır.

Modül kullanımı

http://portal.kouosl/login/auth

adresi ile,

home

login modülünün anasayfasını görüyor olmamız gerekir. Değiştirlen sistem dili ile anasayfamızı ingilizce olarakta görebiliriz.

home_en

login butonuyla devam edildiği taktirde karşımıza gelen login ekranında yerel kullanıcı bilgileriyle yahut facebook veya google ile login olunabilmektedir.

login

eğer sisteme yeni bir kullanıcı ile giriş yapılmak isteniyorsa sistemden loguot olduktan sonra direkt login butonu üzerindeki sign up bağlantısından ya da anasayfadaki signup butonundan kayıt penceresine erişilebilir.

signup

böylelikle login modülümüz kullanıma hazır hale gelmiş oluyor. Fork ettiğimiz theme modülünde yaptığımız çeşitli widget değişiklerinin yanı sıra gözle görülür değişiklikleri göstermek için kullandığımız custom css dosyamızı içerisinde

!important;

kodunu kullanarak,

.navbar-inverse.navbar-fixed-top.navbar
{
  background-color: #c50804; !important;
  border-color: #82b366; !important;
}

şeklinde yaptığımız değişiklik ile yeni görüntümüzü elde ediyoruz.

home_css

Konsol ile kullanım

Modülümüzün ilgili user tablosu üzerinde değişiklik yapmamızı sağlar. Vagrant makinemize ssh ile bağlandıktan sonra cd /var/www/portal dizinine erişmemiz gerekmekterdir. Bu dizin altında,

php yii user

kod parçası ile örnek olarak databaseimizde bulunan toplam kullanıcı sayısını görebilmekteyiz. Diğer actionlar için,

php yii help

komutunu kullanarak gördüğümüz,

- user
    user/index (default)
    user/user
    user/user-batch
    user/user-create
    user/user-delete
    user/user-update

bilgisi bize diğer metodları listelemektedir. Burada index default olarak kullanıcı sayısı, user metodu id si verilen bir kulanıcı listelemeyi,user-batch metodu kullanıcı grubu eklemeyi,user-create metodu yeni bir kullanıcı eklemeyi, user-delete le kullanıcı silmeyi ve user-update ile de id si verilen kullanıcıyı güncellemeyi yapabilmekteyiz.

Örnek olarak toplam kullanıcı sayısı ve kullanıcı id si ile kullanıcı listelemeyi gösterebiliriz.

console pic

APİ

Rest API olarak bildiğimiz api görevini üstlenen controllerımız modül klasörü içerisinde bulunan controllers/api içerisinde yer alan "UsersControllers.php" dosyasıdır. Herhangi bir projemizde backend olarak görev almasını istediğimiz bu web service ile çeşitli isteklerle birlikte hedeflediğimiz database verilerine ulaşabilmekteyiz. Başlıca Get,Post,Put ve Delete http request metodlarından oluşan api yapıları bu modülde de bu şekilde kullanılmaktadır. Get metoduyla parametresiz atılan istekte tüm kullanıcıları bir json datası olarak döndüren api işlevi, kullanıcı id si verilerek gönderilen bir delete requesti ile de silme işlemini gerçekleştirir. Bilgisayarınıza indireceğiniz Postman uygulamasıyla bu yapının nasıl işlediğini görebilirsiniz.

api