Press ESC to close

Asp.Net Core Basit Kimlik Doğrulama

Merhaba arkadaşlar. Bu yazımda Asp.Net Core ile geliştirilen bir web uygulamasında nasıl kimlik doğrulanabileceğinden bahsedeceğiz. Kimlik doğrulama bazı durumlarda hayat kurtaratabiliyor. Sadece kullanıcı adını ve şifreyi bilen kişilerin erişmesi güvenlik açısından oldukça önemli.

Projenizin Startup sınıfında gelir bir servis eklemeniz gerekiyor. AddAuthentication fonksiyonu ile bunu basit bir şekilde yapıyoruz. Sonrasında ise bir kaç ayar yapmamız gerekiyor. Bir isim verebilirsiniz. İsim verdikten sonra basit bir doğrulama isteyebilirsiniz. Burada gereken tek şey kullanıcı adı ve şifre.  Bu kadar basit aslında. İsterseniz eğer yanlış bir giriş olursa  hata mesajı da verebilirsiniz.

services
        .AddAuthentication(BasicAuthenticationDefaults.AuthenticationScheme)
        .AddBasicAuthentication(
            options =>
            {
                options.Realm = "My Application";
                options.Events = new BasicAuthenticationEvents
                {
                    OnValidatePrincipal = context =>
                    {
                        if ((context.UserName == "username") && (context.Password == "password"))
                        {
                            var claims = new List<Claim>
                            {
                                new Claim(ClaimTypes.Name, context.UserName, context.Options.ClaimsIssuer)
                            };

                            var principal = new ClaimsPrincipal(new ClaimsIdentity(claims, BasicAuthenticationDefaults.AuthenticationScheme));
                            context.Principal = principal;
                        }
                        else
                        {
                            // optional with following default.
                            // context.AuthenticationFailMessage = "Authentication failed."; 
                        }

                        return Task.CompletedTask;
                    }
                };
            });

Tabi sadece bunlarla sınırlı kalmıyor. Belki bazı sayfalarda kimlik doğrulaması isterken diğer sayfalarda böyle bir doğrulamaya ihtiyaç duymayabilirsiniz. Bunun için hangi sayfalarda kullanmak istiyorsanız ona göre o sayfanın başında bir özellik vermeniz gerekiyor. Aşağıda ki kod parçasında bu belirtilmiştir.

[Authorize]
    public class HomeController : Controller
    {

Başına sadece Authorize yazmanız yeterli olacaktır. Sonrasında ise Authorize yaptığınız sitelerde böyle bir ekran ile karşılaşacaksınız.

Sorularınız olursa mail veya yorum atarak ulaşabilirsiniz. İyi çalışmalar.

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir