الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

IIS 7 and web developer error

بدأه زهرة الياسمين في 1 فبراير 2012 · 15 رد · 1,227 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مسالخير

لو سمحتم انا استخدم IIS 7.0 مع ويب ديفلوبير 2010 وقمت بعمل self sign certificate وتقريبا اشتغل الويب سايت تمام ولكن عندما أردت الدخول من خلال صفحة log in ظهر لي الخطأ التالي:

User does not have permission to perform this action.

كيف من الممكن اصلاحه لقد قمت بالبحث عبر جوجل ولكن لم أجد الحل الصحيح

وشكرا لكم

#2

أختي ممكن تضعي رسالة الخطأ كاملة ؟

#3
Adel Khayata كتب:

أختي ممكن تضعي رسالة الخطأ كاملة ؟

Server Error in '/' Application.

--------------------------------------------------------------------------------

User does not have permission to perform this action.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: User does not have permission to perform this action.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[sqlException (0x80131904): User does not have permission to perform this action.]

System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5050218

System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234

System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2275

System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35

System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) +183

System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +239

System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +195

System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +232

System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +5063943

System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +33

System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +524

System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66

System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +479

System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +108

System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126

System.Data.SqlClient.SqlConnection.Open() +125

System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +95

System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +206

System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +827

System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +105

System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +106

System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +60

System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +129

System.Web.UI.WebControls.Login.AttemptLogin() +127

System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101

System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37

System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +125

System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +167

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563

--------------------------------------------------------------------------------

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

#4

أختي تأكدي من اسم المستخدم و كلمة المرور المستخدمين عند عمل الاتصال مع سيكوال سيرفر, إذ يبدو أن المستخدم ليس له صلاحيات على الداتابيس.

تأكدي من ال ConnectionString المستخدمة في برنامجك.

#5
Adel Khayata كتب:

أختي تأكدي من اسم المستخدم و كلمة المرور المستخدمين عند عمل الاتصال مع سيكوال سيرفر, إذ يبدو أن المستخدم ليس له صلاحيات على الداتابيس.

تأكدي من ال ConnectionString المستخدمة في برنامجك.

هل من الممكن أن تكتب لي طريقة اضافة ConnectionString الى web.config

وهل يجب أن اضيف الكونيكشين الى ConnectionString الموجود في ال IIS أم انه يضاف تلقائيا

وشكرا لك

#6

أختي : افتحي ملف ال web.config الموجود لديكي, و ابحثي عن نص كالتالي ( <configuration> ):

  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

طبعاً معلومات الاتصال يجب تعديلها لتناسب معلومات قاعدة البيانات التي لديكي.

بالنسبة ل IIS فليس هناك من داعي لإضافة ال ConnectionString إليه, لأن وظيفته هي فقط تشغيل موقعك.

#7
Adel Khayata كتب:

أختي : افتحي ملف ال web.config الموجود لديكي, و ابحثي عن نص كالتالي ( <configuration> ):

  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

طبعاً معلومات الاتصال يجب تعديلها لتناسب معلومات قاعدة البيانات التي لديكي.

بالنسبة ل IIS فليس هناك من داعي لإضافة ال ConnectionString إليه, لأن وظيفته هي فقط تشغيل موقعك.

نفس الكود الذي استعمله ولكن على طول يعطيني ايرور User does not have permission to perform this action.

قبل ما استخدم ال IIS كان يعمل login بدون اي مشاكل

#8
اقتباس
نفس الكود الذي استعمله

إذا كان الكود الذي لديكي هو نفس الكود الذي كتبته انا, فأعتقد أن المشكلة تكمن في نوع ال Authentication المستخدم حيث أنه يستخدم: Integrated Security أي صلاحيات مستخدم الويندوز الحالي.

وإذا كانت المشكلة من Integrated Security فجربي استخدام SQL Authentation عن طريق اسم مستخدم و كلمة مرور للاتصال بقاعدة البيانات.

هناك بعض الحلول الأخرى المقترحة في هذه المقالة: Using SQL trusted Connections with ASP.NET

#9
Adel Khayata كتب:

إذا كان الكود الذي لديكي هو نفس الكود الذي كتبته انا, فأعتقد أن المشكلة تكمن في نوع ال Authentication المستخدم حيث أنه يستخدم: Integrated Security أي صلاحيات مستخدم الويندوز الحالي.

وإذا كانت المشكلة من Integrated Security فجربي استخدام SQL Authentation عن طريق اسم مستخدم و كلمة مرور للاتصال بقاعدة البيانات.

هناك بعض الحلول الأخرى المقترحة في هذه المقالة: Using SQL trusted Connections with ASP.NET

انا لم استخدم اسم مستخدم وكلمة مرور للاتصال بقاعدة البيانات؟؟؟

ساقوم بقراءة المقال الذي وضعته لي

#10

السلام عليكم ورحمة الله وبركاته

اختي في الله

المشكلة تظهر في انه يفشل في الاتصال بقاعدة البيانات بعد عمل اتاش ليها

اي المشكلة تكون في السيكوال سيرفر المثبت علي الجهاز السيرفر

شوفي حاولي تدخلي علي السكوال سيرفر من الشاشة التالية :

http://www.freeimagehosting.net/q1314

وشوفي نوع Authonticaions المطلوبة للدخول علي السيرفر بمعني هل هتقدري تدخل علي السيرفر من النوع Sql Server Authontications او windows authontications

في حالة انك قدرتي في الدخول علي السيرفر من النوع windows authontications يبقا الكونكشن استرينج بتاعك صحيح اما لو ما قدرتيش يبقا انتا محتاجة انك تعملي ولوج علي السيرفر من النوع Sql Server Authontications

علي العموم جربي الكونكشن استرينج هذا مع تجريب الخطوة بتاعة الولوج للسيرفر مع النوع windows authontications

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

والله الموفق والمستعان

#11
Max bayne كتب:

السلام عليكم ورحمة الله وبركاته

اختي في الله

المشكلة تظهر في انه يفشل في الاتصال بقاعدة البيانات بعد عمل اتاش ليها

اي المشكلة تكون في السيكوال سيرفر المثبت علي الجهاز السيرفر

شوفي حاولي تدخلي علي السكوال سيرفر من الشاشة التالية :

http://www.freeimagehosting.net/q1314

وشوفي نوع Authonticaions المطلوبة للدخول علي السيرفر بمعني هل هتقدري تدخل علي السيرفر من النوع Sql Server Authontications او windows authontications

في حالة انك قدرتي في الدخول علي السيرفر من النوع windows authontications يبقا الكونكشن استرينج بتاعك صحيح اما لو ما قدرتيش يبقا انتا محتاجة انك تعملي ولوج علي السيرفر من النوع Sql Server Authontications

علي العموم جربي الكونكشن استرينج هذا مع تجريب الخطوة بتاعة الولوج للسيرفر مع النوع windows authontications

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

والله الموفق والمستعان

لقد قمت بعمل اتصال من خلال SQL Server Managment Studio من نوع windows authentication واتصل بطريقه صحيحه سأجرب الوكنكشين سترينج الذي وضعته لي

#12

لقد قمت بتجربته ولم يعمل بشكل جيد.

ولكن هناك خيار في IIS manager للاتصال يحوي التالي:

Path Credential

Specific user or Application user (pass through authentication)

عندما اختار specific user يجب ان اختار يوزر نيم وباسويرد الولوج لحسابي على الكمبيوتر ومن ثم عندما احاول عمل Log in من خلال IIS Manager يظهر لي الخطأ السابق

اما عندما اختار Application user (pass through authentication) وأحاول عمل Log in يظهر لي خطأ جديد كالتالي:

Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

هل من الممكن أن تكون هذه هي المشكله مع العلم انني عندما احاول تنفيذ البرنامج من خلال web developer 2010 يعمل كويس ويعمل Log in

أرجو المساعده

#13

السلام عليكم

اعتقد الحل الاسهل هو كمايلي :

ندخل على IIS ثم فرع Application pools ثم نختر DefaultAppPool ثم من القائمة التي على اليمين نختر Advanced Settings حيث تظهر شاشة جديدة منها نختر Identity ونجعلها Local system .

وانظري الى الصورة

post-112904-063739600 1328362975_thumb.p

المرفقات
IIS7onvistaC_thumb1.png
#14
TareqVB كتب:

السلام عليكم

اعتقد الحل الاسهل هو كمايلي :

ندخل على IIS ثم فرع Application pools ثم نختر DefaultAppPool ثم من القائمة التي على اليمين نختر Advanced Settings حيث تظهر شاشة جديدة منها نختر Identity ونجعلها Local system .

وانظري الى الصورة

post-112904-063739600 1328362975_thumb.p

لم يعمل نفس الخطأ

#16
TareqVB كتب:

هل تستخدمي نفس المجلد في IIS وفي المشروع في الويب ديفلوبر ؟

شكرا لك أخي اعتقد ان المشكله كانت من مكان وجود المجلد حيث أنني نقلته من السي لل دي وعمل Log in بدون أية مشاكل

مواضيع مشابهة