Windows kimlik doğrulamanın nasıl çalıştığını ve nasıl uygulanacağını anlamaya çalışıyorum. Oldukça az sayıda makale okudum ve youtube'da oldukça uzun videolar izledim ama hala düzgün çalışmasını sağlamak için web.config dosyama/index.aspx sayfama eklenmesi gereken şeyleri kafamda saklayamıyorum. İşte Windows kimlik doğrulamasını asp.net ile kullanarak C#
index.aspx sayfası:using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
namespace asset_management_system
{
public partial class index1 : System.Web.UI.Page
{
DataAccessLayer dal = new DataAccessLayer();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void loginBut_Click(object sender, EventArgs e)
{
string username = usernameTB.Text.Trim();
string password = passwordTB.Text.Trim();
try
{
using (SqlDataReader dr = dal.CheckLoginDetails(username))
{
//if username does not exist
if (!dr.Read())
{
MessageBox.Show("Invalid login details");
}
else
{
//if password matches the username then redirect to home page
if (dr[0].ToString() == password)
{
Session["username"] = username;
Response.Redirect("Home/home.aspx");
}
else
{
MessageBox.Show("Invalid login details");
}
}
}
}
catch (SqlException sqlex) { MessageBox.Show("There may be an issue with the server, please contact the administrator" +
" and provide this error message: " + sqlex); }
catch (Exception ex) { MessageBox.Show("error message: " + ex); }
}//end of loginBut_click method
}//end of class
}//end of namespace
Ve burada web.config dosyası
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="Asset management System DBConnectionString" connectionString="Data Source=STEPHENP\SQLEXPRESS;Initial Catalog="Asset management System DB";Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<authentication mode="Windows">
</authentication>
<identity impersonate="true"/>
</system.web>
</configuration>
"Yetkilendirme" öğelerini kullanarak konumları kilitlemeniz gerekir. –
Kullanıcı adı ve parola için bir veritabanına karşı bir çeşit kontrol yapıyorsunuz, bu daha çok form tabanlı kimlik doğrulaması. Windows kimlik doğrulamasının amacı buna sahip olmamalıdır ya da bu pencerelere ihtiyacınız varsa, o zaman giriş sayfasına kimlerin erişebileceğini kilitleyecektir. Web.config kimlik doğrulaması elemanına doğru şekilde yerleştirdiniz, ancak yetkilendirme öğesini kaçırıyorsunuz. Bu sayfayı anlayın ve Anlayın. http://msdn.microsoft.com/en-us/library/8d82143t(v=vs.85).aspx – Bearcat9425
Teşekkürler, bu satırı web.config dosyasına ekledim yetkilendirme> Index.aspx sayfama eklemem gereken ek kod var mı? –