Başlat -> Programlar -> Visual Studio ->Visual Studio Tools -> Visual Studio Command Prompt
Ardından resimde de görüleceği gibi komut satırına aspnet_regsql yazıp entera basıyoruz.
Ve karışımıza bir vizard çıkıması gerek. Farkındaysanız bende türkçe olarak geldi wizard uni code ile yazıldığından sistemin bölgesel ayarlarına ve office diline bakarak geliyor.
İleri deyip geçiyoruz.
Gelen ekranda ilk seçeneği yani “Uygulama hizmetleri için SQL Server’ı yapılandır” ı seçiyoruz ve ileri diyoruz.
Bu ekranda sunucuyu ve ilgili veritabanını seçiyoruz.
Ben kendi localimdeki sunucuya bağlandığım için nokta (.) yazdım. Veritabanımın ismide “Deneme”
Windows authentication ile bağlanıyorum.
İleri diyoruz.
Bir özet ekranı gelecek eğer yapılandırmadan eminsek ileri diyip son ekrana ulaşıyoruz.
Sona tıklıyoruz.
Veritabanı yapılandırmamız bitmiş oldu. Şimdide web sitemizi yapılandıralım.
Veritabanımıza eklenen tabloları bu şekilde olmalı.
Şimdi de web sitemizin web.config dosyasına gerekli kodları yazmamız gerek. Bu kodlar windows klasörünün altında machine.config dosyasından kalıtımla gelmektedir. Yani machine.config dosyasındaki membership dügümünü olduğu gibi kopyalayıp kendi web.config dosyamıza yapıştırabiliriz.
Ama öncesinde connection stringimizi yazalım. Web.configde connectionstrings düğümünü bulup şu satırı yazalım (Tabi siz data source ve initial catalog kısımlarını kendinize göre düzenleyin)
<connectionStrings> <add name="Conn" connectionString="Data Source=.;Initial Catalog=Deneme;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
<membership defaultProvider="MembershipProvider" userIsOnlineTimeWindow="5"> <providers> <add name="MembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="Conn" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="WebApplication1" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> </providers> </membership> <roleManager enabled="true" defaultProvider="SqlRoleProvider"> <providers> <add name="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="Conn" applicationName="WebApplication1"/> </providers> </roleManager>
Membership taginin içnideki parametreleri başka bir makalede konuşabiliriz. Bunlar ilk etapta optimum değerlerdir.
Kodlarımızı yazdık. Şimdi de ASP.NET Configuration sayfasına gidip kurlumu tamamlayalım.
Bu sayfaya visual studio Solution Explorerdan girebiliriz.
Sarı renkle işaretlediğim butona tıklıyoruz. Ve
Web Sitesi Yönetim Aracıadında bir sayfa açılacak.
Buradan güvenlik tabına geçiyoruz.
İlk önce sitemizde kullancağımız rolleri tanımlamak için “Roller Oluştur veya Yönet“i tıklıyoruz.
Ve istediğimiz rolleri ekliyoruz. Ben Admin ve kullanici adinda 2 tane oluşturdum.
Ve ardından “Güvenliği adım adım yapılandırmak için güvenlik Kurulum Sihirbazı’nı kullanın.” linkini tıklıyoruz.
Hoşgeldiniz ekranını ileri deyip geçiyoruz.
Bu sayfada uygulamamızın ne üzerinde çalışacağını seçiyoruz. Ben localde çalıştıracağım için yereli seçiyorum ve ileri diyorum.
Bu ekranda oluşturduğumuz rolleri klasör bazında yetkilendiriyoruz. Buradaki kritik nokta resimde de görebileceğiniz gibi ilk eklediğiniz rol her zaman sonrakileri ezer. Yani listenin üstündeki rol altındakilerden baskındır her zaman.
Şöyleki;
Resimde görüleceği gibi Admin klasörüne “Admin” rolünde olanlara izin var ama “Kullanici” rolünde olanlara giriş yetkisi yok.
Resimde aşağıdaki listeden de kontrol edebilirsiniz.
Ve ileri dedikten sonra sihirbazı tamamlamak için Son’a tıklıyoruz. Membership kurulumumuzu tamamlamış olduk. Yine bu sayfa üzerinden kullanıcılar roller oluşturabilirsiniz.
ASP.Net login kontrollerinide bir başka makalemizde anlatmak üzere.. Hoşkalın..
Geri bildirim: ASP.NET Membership Üyelik Sisteminde Üye Detayları « Ahmet Rende
teşekkürler
Belirtilen Yöntemleri sırayla izledim ama işe yaramadı . Şu hatayı veriyor
Ne yapmalıyım …
System.Web.HttpException (0x80004005): Unable to connect to SQL Server database. —> System.Data.SqlClient.SqlException (0x80131904): Sunucuyla bağlantı kurulurken ağ ile ilgili veya örneğe özel bir hata oluştu. Sunucu bulunamadı veya sunucuya erişilemiyor. Örnek adının doğru olduğunu ve SQL Server’ın uzak bağlantılara izin verdiğini doğrulayın. (provider: Named Pipes Provider, error: 40 – SQL Server için bağlantı açılamadı) —> System.ComponentModel.Win32Exception (0x80004005): Sistem belirtilen dosyayı bulamıyor
konum: System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
konum: System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
konum: System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover)
konum: System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)
konum: System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
konum: System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
konum: System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions)
konum: System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
konum: System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
konum: System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionOptions userOptions)
konum: System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions)
konum: System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
konum: System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
konum: System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
konum: System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
konum: System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
konum: System.Data.SqlClient.SqlConnection.Open()
konum: System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString)
ClientConnectionId:00000000-0000-0000-0000-000000000000
konum: System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString)
konum: System.Web.Management.SqlServices.SetupApplicationServices(String server, String user, String password, Boolean trusted, String connectionString, String database, String dbFileName, SqlFeatures features, Boolean install)
konum: System.Web.Management.ConfirmPanel.Execute()
Selam Meliha;
SQL Server ismini yanlış yazmış gibi duruyor hata mesajı. Benim kodlarımı birebir yapsan bile server ismi değişken olabilir.
Hosta Atamamak:
Ahmet Hocam Dediğiniz Gibi Üyelik Veri Tabanını Kurdum Ama Bunu Godady deiki hosting hesabıma atamadım İnternette Araştırdım Generate Script Oluşturma Yönetimini ALdıgım Kodu hosttaki query analyzer sayfasına yapıştırıp excute ettim ” CREATE DATABASE permission denied in database ‘master’.”
hatası verdi Ne Yapmalıyım.
Merhaba,
Sizin orada zaten bir veritabanınız vardır. yeni yaratamamanız normal. Create Database scriptini üretmeden sorgunuzu çalıştırmalısınız. kolay gelsin.
Merhaba , MemberShip kurulumunu Access DB de yapabilir miyiz ? Normalde SQL Server ile kullanıyorum ama çalıştığım firma için bir proje hazırlayacağım SQL server yetkisi vermiyorlar.
Merhaba,
Maalesef Access’e kurulum yapamazsınız. Membership kurulumu sırasında farklı objeler de create ediliyor. Bunlar SQL Server’a özgü şeyler.