Advertisement

Çözüldü C# ile kullanıcı yetkilendirme nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

dogckr

Picopat
Katılım
29 Haziran 2021
Mesajlar
104
Çözümler
2
C#:
 SqlCommand yetki = new SqlCommand("select * from musteri", connection);
           
            string sorgu = "SELECT * FROM musteri where [email protected] AND [email protected]";
           
            cmd = new SqlCommand(sorgu, connection);
            cmd.Parameters.AddWithValue("@user", TextBox1.Text);
            cmd.Parameters.AddWithValue("@pass", TextBox2.Text);
            connection.Open();
            dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                dr.Close();
               
                dr = yetki.ExecuteReader();

                if (dr[5].ToString() == 1)
                {
                    Response.Redirect("anasayfa.aspx");
                }
                else
                {
                    Response.Redirect("master.master");
                }
               
            }
            else
            {
                Label1.Text = "Giriş Başarısız ";
            }
            connection.Close();


Veri tabanında yetki diye kolonunun değeri 1 .
Her normal kullanıcı 1 olarak değer alıyor. Ben 0 değerini alan kişinin başka bir sayfaya girmesini istiyorum, nasıl yapabilirim?
 

Dosya Ekleri

  • Ekran görüntüsü 2022-05-28 133820.png
    Ekran görüntüsü 2022-05-28 133820.png
    1,5 KB · Görüntüleme: 20
Son düzenleyen: Moderatör:
Çözüm
C#:
 string sorgu = "SELECT * FROM musteri where [email protected] AND [email protected]";

            cmd = new SqlCommand(sorgu, connection);
            cmd.Parameters.AddWithValue("@user", TextBox1.Text);
            cmd.Parameters.AddWithValue("@pass", TextBox2.Text);

            connection.Open();
            dr = cmd.ExecuteReader();

            if (dr.Read())
            {
                if (dr[5].ToString()=="False")
                {
                    Response.Redirect("admin.aspx");
                }
                else if (dr[5].ToString() == "True")
                {
                    Response.Redirect("anasayfa.aspx");
                }
                else
                {
                    Label1.Text = "Giriş Başarısız ";

                }

            }
            else
            {
                Label1.Text = "Giriş Başarısız ";
            }
            connection.Close();



Son hali bu. Çalıştı teşekkür ederim.

Diego

Decapat
Katılım
30 Temmuz 2019
Mesajlar
42
Çözümler
1
Kodunuzda anormallik yok gibi sadece bir if daha lazım yanlış görmüyorsam şöyle olacak

if (dr[5].ToString() == 1)
{
Response.Redirect("anasayfa.aspx");
}
else if(dr[5].ToString() == 0)
{
Response.Redirect("yonetim/anasayfa.aspx");
}

else
{
Response.Redirect("master.master");
}
 
KS
KS
dogckr

dogckr

Picopat
Katılım
29 Haziran 2021
Mesajlar
104
Çözümler
2
Kodunuzda anormallik yok gibi sadece bir if daha lazım yanlış görmüyorsam şöyle olacak

if (dr[5].ToString() == 1)
{
Response.Redirect("anasayfa.aspx");
}
else if(dr[5].ToString() == 0)
{
Response.Redirect("yonetim/anasayfa.aspx");
}

else
{
Response.Redirect("master.master");
}
mail ve parolayı da kontrol etmem gerek
mail ve parolayı da kontrol etmem gerek
C++:
 if (dr.Read() && dr[5].ToString() == 0.ToString() )
            {   
                Response.Redirect("admin.aspx");

            }
            else if(dr.Read() && dr[5].ToString() == 1.ToString())
            {
                Response.Redirect("anasayfa.aspx");
                
            }
            else
            {
                Label1.Text = "Giriş Başarısız ";
            }
bunu denedim ama olmadı büyük ihtimal data readar cmd.execute olduğundan ama nasıl yaparım bilmiyorum.
 

Diego

Decapat
Katılım
30 Temmuz 2019
Mesajlar
42
Çözümler
1
0.ToSting() - 1.ToString() yazım yanlışın var bu şekilde yapmamalısın, değişken isimlerini düzgün şekilde yapmalısın. if kısmını ayırmalısın. Bu şekilde kodun tamamını benim yazmamız gerekir...

if (dr.Read()) {

}
 
KS
KS
dogckr

dogckr

Picopat
Katılım
29 Haziran 2021
Mesajlar
104
Çözümler
2
0.ToSting() - 1.ToString() yazım yanlışın var bu şekilde yapmamalısın, değişken isimlerini düzgün şekilde yapmalısın. if kısmını ayırmalısın. Bu şekilde kodun tamamını benim yazmamız gerekir...

if (dr.Read()) {

}
onlar bu hatayı almamak için yaptım .
 

Dosya Ekleri

  • Adsıza.png
    Adsıza.png
    25,1 KB · Görüntüleme: 11
KS
KS
dogckr

dogckr

Picopat
Katılım
29 Haziran 2021
Mesajlar
104
Çözümler
2
C#:
 string sorgu = "SELECT * FROM musteri where [email protected] AND [email protected]";

            cmd = new SqlCommand(sorgu, connection);
            cmd.Parameters.AddWithValue("@user", TextBox1.Text);
            cmd.Parameters.AddWithValue("@pass", TextBox2.Text);

            connection.Open();
            dr = cmd.ExecuteReader();

            if (dr.Read())
            {
                if (dr[5].ToString()=="False")
                {
                    Response.Redirect("admin.aspx");
                }
                else if (dr[5].ToString() == "True")
                {
                    Response.Redirect("anasayfa.aspx");
                }
                else
                {
                    Label1.Text = "Giriş Başarısız ";

                }

            }
            else
            {
                Label1.Text = "Giriş Başarısız ";
            }
            connection.Close();



Son hali bu. Çalıştı teşekkür ederim.
 
Çözüm
Yukarı