#39- Asp.NET Core 6 + Angular İle Mini E-Ticaret | Kullanıcı Girişi(Authentication) İşlemleri

Поділитися
Вставка
  • Опубліковано 5 чер 2022
  • Github : github.com/gncyyldz
    #aspnetcore6 #angular #eticaret #aspnetcoreuygulama #onionarchitecture #angular #angular13 #authentication
    Bu video Gençay Yıldız tarafından NGAkademi bünyesinde ücretsiz çekilmiştir.
    Gençay Yıldız'ın Bloğu
    www.gencayyildiz.com/blog/
    Güncel Duyuru ve Bildiriler İçin Sosyal Medya Hesaplarımız
    / ngakademi.sosyal
    / ngakademi
    / ngakademii
    Bana destek olmak için kanalıma üye olabilirsiniz:
    / gençay yıldız

КОМЕНТАРІ • 21

  • @feyzakaymakc7385
    @feyzakaymakc7385 Рік тому +2

    Hocam samimiyetle söylüyorum sizin gibi anlatan yok. İzleyenlere çok büyük fayda sağlıyorsunuz. Teşekkür ederim emeğinize :)

  • @korayozyurt2341
    @korayozyurt2341 Рік тому +1

    Hocam emeğinize sağlık anlatımınız çok güzel

  • @ilhanylmaz5977
    @ilhanylmaz5977 Рік тому +3

    hocam her zamanki gibi çok değerli bilgileri, hoş anlatımınızla bizimle paylaştınız. Çok teşekkür ederim sayın hocam.

  • @sametfatih7707
    @sametfatih7707 Рік тому +1

    Email ile Authorize olma işleminde hata ile karşılaşıyorsanız =>
    ServiceRegistration sınıfında AddIdentity 'e " options.User.RequireUniqueEmail = true; " şeklinde ekleme yapıp veritabanında aynı email adresine sahip kayıtların "Email" ve "NormalizedEmail" adreslerini değiştirmeniz gerekiyor. Bu şekilde sorununuz çözülecektir.

  • @Furki4_4
    @Furki4_4 Рік тому +2

    Teşekkürler hocam, Identity konusu güzelmiş

  • @yazilimciyizBiz
    @yazilimciyizBiz 4 місяці тому +1

    02.03.2024 uygulamalı izledim

  • @yazilimciyizBiz
    @yazilimciyizBiz 5 місяців тому +1

    30.01.2024 izledim

  • @cenkozturk5396
    @cenkozturk5396 Рік тому +3

    hocam kücük ufak bi sorum olucaktı size. Örnek veriyorum bir methodun içini dolduruyorsunuz ya, doldururken hep değişkenini o satırı bitirdikten sonra tanımlıyorsunuz mesela dk 42:00 . Bu sizin stilinizden dolayı mı her yazılımcının farklı yazım sekli oldugundan mı diye sormak istedim.

    •  Рік тому +3

      Bazen çağırdığın metodun ya da property'nin geriye ne döndürdüğünü bildiğin durumlarda direkt değişkeni tanımlayarak devamını getirebilirsin lakin eğitim çekerken ezbere kod yazmamak için, neyi neden ilgili türde bir referansa yahut değişkene atadığımı gösterebilmek için türünü bilsem dahi öncelikle metodu ya da property'i çağırıyor, ardından değişkeni tanımlıyorum.

  • @abdulkadirkg
    @abdulkadirkg 2 роки тому +4

    Hocam global bir pagination'dan bahsetmiştim daha önceden bir videonuzun yorum kısmında. Ben kendimce bişeyler yazdım, paylaşmak istedim;
    public class BaseController : ControllerBase
    {
    public PaginationFilter Pagination { get; set; } = new();
    }
    public class PaginationActionFilter : IAsyncActionFilter
    {
    public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
    {
    // before
    var pageNumber = context.HttpContext.Request.Query["PageNumber"];
    var pageSize = context.HttpContext.Request.Query["PageSize"];
    if (pageNumber.Count > 1) throw new InfoException("Multiple Page Number Query is Not Supported!");
    if (pageSize.Count > 1) throw new InfoException("Multiple Page Size Query Not is Supported!");
    if (!StringValues.IsNullOrEmpty(pageNumber) && !StringValues.IsNullOrEmpty(pageSize))
    {
    var controller = context.Controller as BaseController;
    controller.Pagination.PageNumber = int.Parse(pageNumber[0]);
    controller.Pagination.PageSize = int.Parse(pageSize[0]);
    }
    await next();
    }
    }
    Program.cs
    builder.Services.AddControllers(config => {
    config.Filters.Add(new PaginationActionFilter());
    });

    •  2 роки тому +2

      Ellerinize sağlık.

    • @husokanus
      @husokanus Рік тому

      Çok güzel kod. Eline sağlık. Şahsi fikrim ise, her istek için pagination talebi var mı diye kontrol etmek gereksiz performans kaybı.

    • @abdulkadirkg
      @abdulkadirkg Рік тому +2

      @@husokanus kendi senaryomda bu şekilde kullanmak durumundayım çünkü hemen hemen bütün isteklerim pagination istiyor. Teşekkür ediyorum.

  • @tugbaakan7099
    @tugbaakan7099 2 роки тому

    Giriş yaparken kullanıcı adı veya mail kullanılması kuralını Application katmanında yazdık.
    1- Bu kurala iş kuralı diyebilir miyiz?
    2- İş kuralları Application katmanında mı yazılır? Yada Onion architecture'da iş kurallarının yazıldığı tek bir business katmanı yok mudur?

    • @husokanus
      @husokanus Рік тому +1

      İş kurallarını bu mimaride Application katmanına yazmak gerekiyor. Application katmanı klasik n-katmanlı mimaride business olarak kullanılan katmanın karşılığıdır denebilir.

  • @batuhancetin1782
    @batuhancetin1782 2 роки тому +2

    Hocam ücretli canlı eğitim için mesaj attım ama geri dönüş olmadı sitenizde iletişim numarası eski mi acaba?

    •  2 роки тому +1

      Çok mesaj geliyor. Şuanda ücretli eğitim olmadığı için geri dönüş yapmıyoruz :)

  • @jackdaniel4936
    @jackdaniel4936 2 роки тому

    Sayın hocam,
    Ders bittikten sonra kafama takılan bir soru oldu. Ben yazdığım bir api projesinde Authentication sistemi hazırlamıştım. Controllerımda bir tane endpoint vardı "Authenticate" isminde.
    Bu endpoint [AllowAnonymus] idi yani herkese açıktı. Bu endpointe doğru username ve password ikilisi ile gelenlere token verip yolluyordum. Diğer tüm metotlarım [Authorize] ile işaretliydi.
    Bearer ile benim onlara verdiğim token ile gelenlere açıktı sadece. Şimdi hocam soruyu soruyorum!
    Bu benim bahsettiğim örnek Authorization mu Authentication mu?
    Eğer benim yaptığım Authentication ise sizin yaptığınız login sistemi ne oluyor? Authentication'ın bir parçası mı oluyor? Yoksa benim yaptığım Authorization mudur?
    Şimdi eğer benim yaptığım Authorization ise, ben hiç rolleme yapmadım? Rolleme işlemine Authorization demiyor muyuz biz?
    Yoksa rol bazlı ve token bazlı diye iki ayrı Authorization çeşidi mi vardı? Bu durumda benim yaptığım işlem token bazlı Authorization muydu?
    Daha ne yaptığımı bilmiyorum biraz kafam karıştı. Sizin dediğiniz gibi felsefesi tam oturmamış kafama galiba, hasbelkader yazmışım. Ufak bir aydınlama verebilirseniz müsait olduğunuzda şu garibe, çok makbule geçer

    •  2 роки тому +2

      Akşam cevap yazacağım

    • @jackdaniel4936
      @jackdaniel4936 2 роки тому

      @ Çok teşekkürler hocam

    • @husokanus
      @husokanus Рік тому +2

      Senin örnekte "Authenticate" metodu adını icra ediyor ve authentication yapıyor. Diğer metotlarda [Authorize] attribute'ünün yaptığı iş ise yine ismiyle müsemma Authorization işlemi. Kullanıcıyı tanıyıp onaylayıp token vermen authentication. Herhangi bir endpoint için kullanıcıdan verdiğin token'ı isteyip, token içerisinde yetkisi var mı diye kontrol etmen ise authorization.