ব্যবহারকারী 'আইআইএস অ্যাপ্লিকুল \ এএসপি.নেট ভি 4.0' এর জন্য লগইন ব্যর্থ হয়েছে


432

আমার একটি ওয়েব প্রকল্প রয়েছে (সি # অ্যাস্প.নেট, ইএফ 4, এমএস এসকিউএল ২০০৮ এবং আইআইএস I) এবং স্থানীয়ভাবে আইআইএস 7 এ স্থানান্তরিত করতে হবে (এই মুহুর্তে CASSINI এর সাথে দুর্দান্ত কাজ করে)।

স্থানীয়ভাবে আইআইএসে আমি Default Web Siteআমার মোতায়েন করেছি। উভয়ই আমার Default Web Siteস্থাপনা এবং পুল এএসপি.নেট ভি 4.0 (সেটিংসের জন্য চিত্র দেখুন) আমার ওয়েব প্রকল্প হিসাবে পুল লক্ষ্য ফ্রেমওয়ার্ক 4 এ রয়েছে। পুল সেটিংস সাইটটি দেখার সময়, ব্রাউজারটি পৃষ্ঠাটি প্রদর্শন করে না এবং ব্রাউজারটি পরিবর্তে পৃষ্ঠাটি ডাউনলোড করার অনুমতি দেয়।

স্থানীয়ভাবে আইআইএসে আমার অন্যান্য প্রকল্পগুলি চলছে এবং এগুলি কোনও সমস্যা ছাড়াই কাজ করে (তবে তারা সত্তা ফ্রেমওয়ার্ক ব্যবহার করে না)।

ইভেন্ট লগারটি ব্যবহার করে আমি নীচের মতো ত্রুটিগুলি দেখতে পাচ্ছি:

Exception information: 
    Exception type: EntityException 
    Exception message: The underlying provider failed on Open.
   at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)


    Login failed for user 'IIS APPPOOL\ASP.NET v4.0'.
       at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
       at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
       at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
       at System.Data.SqlClient.SqlConnection.Open()
       at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)

সম্পর্কিত প্রশ্ন

আপডেট: আপনি এই প্রশ্নের সংস্থানগুলিতে পড়তে পারেন যে এমএস এসকিউএল ২০০৮ এ ম্যানুয়ালি তার উত্তরটিতে অরিফ্ট ব্যাখ্যা করার জন্য অনুমতিগুলি মঞ্জুর করতে হবে। আইআইএস 7.5 এবং এমএস এসকিউএল 2008 আর 2 ব্যবহার করে ম্যানুয়ালি অনুমতি নির্ধারণের প্রয়োজন হবে না।


2
আপনি কি ওয়েবসাইট ফোল্ডারে অ্যাপ পুল পরিচয় অনুমতি অনুমতি দিয়েছেন?
খ্রিস্টান

আমি নিশ্চিত নই, আপনি কীভাবে এটি করবেন আমাকে বলতে পারেন?
গিব্বোক


প্রকৃতপক্ষে, যেমন অ্যাড্রিফ্ট বলেছেন, এটি স্কয়ার সুরক্ষা সমস্যা হতে পারে। আপনি অ্যাপপুলের জন্য একটি এনটি ব্যবহারকারীর অ্যাকাউন্ট সেট করা এবং তারপরে ওয়েবসাইট ফোল্ডারে এবং এসকিউএলে উপযুক্ত টেবিলগুলিতে সেই অনুমতিটি দেওয়া ভাল
খ্রিস্টান

1
@ গিব্বোক: আমি আপনাকে এখানে গৃহীত উত্তরটি পর্যালোচনা করতে এবং আরও উপযুক্ত উত্তর চয়ন করতে উত্সাহিত করব। গৃহীত উত্তর অনেক লোককে একটি সুরক্ষা ব্ল্যাকহোলের দিকে নিয়ে যাচ্ছে। হ্যাঁ এটা কাজ করে. না, এটি আসলেই ভাল ধারণা নয়। নীচে আমার মন্তব্য দেখুন।
খরচ করে

উত্তর:


595

দেখে মনে হচ্ছে এটি এসকিউএল সার্ভারের সাথে কোনও সংযোগ খোলার চেষ্টা করে ব্যর্থ হচ্ছে।

আপনাকে এসকিউএল সার্ভারে একটি লগইন যুক্ত করতে IIS APPPOOL\ASP.NET v4.0হবে এবং ডাটাবেসে অনুমতি প্রদান করতে হবে।

এসএসএমএসে, সার্ভারের অধীনে, সুরক্ষা প্রসারিত করুন, তারপরে লগইনগুলিতে ডান ক্লিক করুন এবং "নতুন লগইন ..." নির্বাচন করুন।

নতুন লগইন কথোপকথনে, অ্যাপ্লিকেশন পুলটি লগইন নাম হিসাবে প্রবেশ করুন এবং "ওকে" ক্লিক করুন।

এখানে চিত্র বর্ণনা লিখুন

তারপরে আপনি অ্যাপ পুলের জন্য লগইনে ডান ক্লিক করতে পারেন, বৈশিষ্ট্যগুলি নির্বাচন করতে পারেন এবং "ব্যবহারকারী ম্যাপিং" নির্বাচন করতে পারেন। উপযুক্ত ডাটাবেস এবং উপযুক্ত ভূমিকা পরীক্ষা করুন। আমি মনে করি আপনি কেবল নির্বাচন করতে পারেন db_datareaderএবং db_datawriter, তবে আমি মনে করি আপনি যদি এখনও এএফের মাধ্যমে এটি করেন তবে সঞ্চিত প্রক্রিয়া সম্পাদন করার জন্য আপনাকে অনুমতি দেওয়ার প্রয়োজন হবে। আপনি এখানে ভূমিকার জন্য বিশদটি পরীক্ষা করতে পারেন ।


8
ধন্যবাদ, আপনি যা দুঃখ করেছেন আমি তা করেছি, এখন আমি এই ত্রুটিটি পেয়েছি: লগইন দ্বারা অনুরোধ করা "সাইটের নামই এক্সটেনশন" ডাটাবেস খুলতে পারে না। লগইন ব্যর্থ হয়েছে। ব্যবহারকারী 'আইআইএস অ্যাপ্পুল \ ডিফল্ট অ্যাপপুল' এর জন্য লগইন ব্যর্থ হয়েছে।
গিব্বোক

76
খুব গুরুত্বপূর্ণ: লগইন নিশ্চিত করার জন্য অনুসন্ধানে ক্লিক করবেন না! এটি এটি চিনতে পারে না তবে এটি কার্যকর হবে। এটি কেবল আইআইএস অ্যাপ্পল \ সিমোনসপপুলনাম হিসাবে টাইপ করুন। এই দেখুন stackoverflow.com/questions/1933134
Simon_Weaver

6
পরের উত্তরে বর্ণিত হিসাবে আইআইএস থেকে 'পরিচয়' পরিবর্তন করে 'লোকালসিস্টেম' এ পরিবর্তন করা ভাল।
আলতাফ প্যাটেল

যখন আপনার এসকিউএল সার্ভার উদাহরণটি অন্য কোনও হোস্ট মেশিনে থাকে তখন আপনার আইআইএস হোস্ট মেশিনটি কি কাজ করতে পারে? কারণ আমার একই সমস্যাটি ঠিক করা দরকার তবে এসকিউএল এবং আইআইএস একই মেশিনে নেই। সুতরাং সেই নতুন ব্যবহারকারীর জন্য উইন্ডোজ প্রমাণীকরণ ব্যবহার করা হবে না
সেগ্রার্স-ইয়ান

5
আমার জন্য ব্যবহারকারীটি যুক্ত করা ছিল 'আইআইএস অ্যাপ্পল \ ডিফল্ট অ্যাপপুল'। তারপর এটি কাজ করে।
মার্সেল

343

আপনি অ্যাপ্লিকেশনপুলি পরিচয়টি আইআইএস 7 -> অ্যাপ্লিকেশন পুল -> অ্যাডভান্সড সেটিংস থেকে পরিবর্তন করতে পারেন। AdvancedSettings

অ্যাপ্লিকেশনপুল আইডেন্টিটির আওতায় আপনি স্থানীয় সিস্টেমটি খুঁজে পাবেন। এটি আপনার অ্যাপ্লিকেশনটিকে অধীনে চালিত করবে NT AUTHORITY\SYSTEM, এটি ডিফল্টরূপে ডাটাবেসের জন্য বিদ্যমান লগইন।

সম্পাদনা করুন: এই পরামর্শটি প্রয়োগ করার আগে আপনার অবশ্যই সুরক্ষা সম্পর্কিত প্রভাবগুলি নোট করুন এবং বুঝতে পারবেন।


51
@ গিব্বোক, আপনি যদি সুরক্ষা সম্পর্কে উদ্বিগ্ন হন তবে এটি করবেন না। টেকনিকট.মাইক্রোসফট.এইন.ইউএস
জেফ ওগাটা

4
লোকালসিস্টেম পরিচয় হিসাবে অ্যাপ পুলটি চালানো ছাড়াও আমাকে "এনটি প্রমাণতা Y সিস্টেম" ব্যবহারকারীকে ডাটাবেসের ভূমিকাতে মানচিত্র করতে হয়েছিল
ফিল

31
এই দুর্গন্ধ। একটি ওয়েব অ্যাপ্লিকেশনকে সিস্টম কর্তৃপক্ষ প্রদান করা দুর্যোগের একটি রেসিপি এবং দুর্বৃত্তদের কেবলমাত্র আপনার ওয়েব অ্যাপ্লিকেশনই নয়, পুরো হোস্টিং সার্ভারকেই খারাপ কাজ করার সুযোগ দেয়। কেবলমাত্র ডিবি SYSTEM থেকে লগইন গ্রহণ করে তার অর্থ এই নয় যে আপনার ওয়েব অ্যাপ্লিকেশনটিকে সিস্টেম হিসাবে চালানো উচিত। উইন্ডোজ ডেস্কটপ এমনকি আপনাকে সিস্টম হিসাবে চালাতে দেয় না (হুপের মাধ্যমে ঝাঁপ দাও না)। এই কর্তৃপক্ষের সাথে একটি ওয়েব অ্যাপ চালানো সত্যিই সত্যই বোকা ধারণা। আপনার ডিবিকে বর্তমান অ্যাপপুল পরিচয়টি গ্রহণ করা উচিত। আমি যদি 100 পারতাম। -1।
ব্যয়কারী

8
অ্যাডমিনিস্ট্রেটরের চেয়ে সিস্টম আরও বেশি সুবিধাযুক্ত privile আপনার স্তরের কাছে পৌঁছানোর কোনও কিছুর সাথে আপনার ওয়েব সার্ভারটি কখনও চালানো উচিত নয় ।
স্লাগস্টার

1
আমি অতিথির অ্যাকাউন্টটিকে প্রশাসকের গোষ্ঠীর সদস্য হয়েছি। সরল, পরিষ্কার, সুরক্ষা বুলশিটের সাথে কখনও সমস্যা নেই।

29

আপনি নিশ্চিত করুন ...

Trusted_Connection=false;

আপনার সংযোগ স্ট্রিং


7
বিশ্বাসযোগ্য সংযোগ = সত্য সংযোগের স্ট্রিংয়ের সাথে আইআইএস পরিচয় ব্যবহারকারীর প্রোফাইলের সাথে এসকিউএল প্রমাণীকরণের মানগুলি ওভাররাইড হবে।
জেফ দ্য বিয়ার

2
আমার ক্ষেত্রে অপসারণ: সংহত সুরক্ষা = সংযোগ স্ট্রিং থেকে সত্য এটি স্থির করে।
কার্লোস আর বালেবোনা

আমার জন্য কাজ করেছেন। দিনটি সংরক্ষণ করেছেন @ জেফটিবিয়ার
ডি_এডেট

26

আমি এই চিত্রটি নীচের চিত্র হিসাবে sql ব্যবহার করে সমাধান করেছি।

Db-> বৈশিষ্ট্যগুলিতে ডান ক্লিক করুন -> অনুমতি -> সার্ভারের অনুমতি দেখুন -> এবং তারপরে নির্বাচন করুন IIS APPPOOL\ASP.NET v4.0এবং অনুমতি দিন।

ডিবি


উপরের প্রক্রিয়াটি (এবং চিত্র) যা আপনি সেই অ্যাপ্লিকেশন পুল সনাক্তকরণের জন্য গ্রান্টিং সার্ভার স্তরের অনুমতিগুলি বর্ণনা করছেন? একটি ভাল ধারণা মত শব্দ না।
ক্রিস ওয়ালশ

2
এই ব্যবহারকারী পদক প্রাপ্য! এর বাইরে আর কিছুই সাহায্য করেনি!
খতিব 321

2
@ খতিব ৩২১১ একেবারে, আপনার উত্তরের জন্য অনেক ডিটিটি আপনাকে ধন্যবাদ।
Azxdreuwa

22

এই স্কয়ার স্ক্রিপ্টটি চালান

IF NOT EXISTS (SELECT name FROM sys.server_principals WHERE name = 'IIS APPPOOL\DefaultAppPool')
BEGIN
    CREATE LOGIN [IIS APPPOOL\DefaultAppPool] 
      FROM WINDOWS WITH DEFAULT_DATABASE=[master], 
      DEFAULT_LANGUAGE=[us_english]
END
GO
CREATE USER [WebDatabaseUser] 
  FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
EXEC sp_addrolemember 'db_owner', 'WebDatabaseUser'
GO

ধন্যবাদ, সহজতম উপায়;) +1
জোল্ফগারি

11

হতে পারে কিভাবে সংযোগ স্ট্রিং আপনার নির্দিষ্ট করা হয়েছে:

User ID=xxx;Password=yyy

তবে সংযোগের স্ট্রিংটিতে রয়েছে:

Trusted_Connection=true;

এসকিউএল সার্ভার উইন্ডোজ প্রমাণীকরণ ব্যবহার করবে, সুতরাং আপনার সংযোগের মানগুলি উপেক্ষা করা হবে এবং ওভাররাইড করা হবে (আইআইএস আইডেন্টিটি ব্যবহারকারী প্রোফাইলে নির্দিষ্ট উইন্ডোজ অ্যাকাউন্টটি ব্যবহার করবে)। আরও তথ্য এখানে

একই প্রযোজ্য যদি সংযোগের স্ট্রিংটিতে থাকে:

 Integrated Security = true;

অথবা

 Integrated Security = SSPI;

কারণ উইন্ডোজ প্রমাণীকরণ ডাটাবেস সার্ভারের সাথে সংযোগ করতে ব্যবহৃত হবে। আরও তথ্য এখানে


10

আইআইএস -> অ্যাপ্লিকেশন পুল -> অ্যাপ্লিকেশনটিতে ব্যবহৃত আপনার অ্যাপ্লিকেশন পুলটি সন্ধান করুন

এখানে চিত্র বর্ণনা লিখুন

অ্যাপ্লিকেশনটির জন্য ব্যবহৃত আপনার অ্যাপ্লিকেশন পুলটি নির্বাচন করুন ডান ক্লিক করুন উন্নত সেটিংস নির্বাচন করুন

এখানে চিত্র বর্ণনা লিখুন

অ্যাপ্লিকেশন পুল পরিচয় নির্বাচন করুন এখানে চিত্র বর্ণনা লিখুন

স্থানীয় সিস্টেম হিসাবে অন্তর্নির্মিত নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন


7

আমি অ্যাপ্লিকেশনপুলি পরিচয় ঘৃণা করি। আমি সবসময় অ্যাপপুলগুলিতে অ্যাকাউন্ট হিসাবে একটি উইন্ডোজ ব্যবহারকারী অ্যাকাউন্ট সেট করি।

যেমন অ্যাড্রিফ্ট বলেছেন, এটি কোনও ডাটাবেস সুরক্ষা ইস্যুর মতো শোনাচ্ছে। সুতরাং একটি এনটি ব্যবহারকারী অ্যাকাউন্ট তৈরি করুন, এএসপি.এনইটি ভি 4.0 অ্যাপপুলে এটাকে নিয়োগ করুন এবং তারপরে এটি ওয়েবসাইট ফোল্ডারে এবং এসকিউএলে সম্পর্কিত টেবিলগুলিতে অনুমতি দিন।


দুঃখিত, কীভাবে করবেন এটি সম্পর্কে ধারণা নেই, আপনি কি আমাকে টিউটোরিয়ালটি নির্দেশ করতে পারেন? এতে আপনার সহায়তার জন্য ধন্যবাদ
গিব্বোক

2
এটি করবেন না, আইআইএস অ্যাপ পুলের পরিচয় বদলানোর
জুলিয়েন লেবোট

@ LeSnip3R ভাঙা লিঙ্ক
Adaptabi

6

ইন্টিগ্রেটেড সিকিউরিটি ব্যবহার করবেন না। ব্যবহারUser Id=yourUser; pwd=yourPwd;

এটি সমস্যার সমাধান করে।


4

আমার এই সমস্যাটি ছিল এবং এটি আসলে অন্যরকম কারণে ঘটেছিল - আমার ডেটাবেজে আমার 'আইআইএস অ্যাপ্পল \ এএসপি.নেট ভি 4.0' ব্যবহারকারী ছিল কিন্তু এটি এখনও কাজ করছে না।

আমি সম্প্রতি আমার এসকিউএল সার্ভার ইনস্টল আপগ্রেড করেছি এবং প্রক্রিয়াটিতে ব্যবহারকারী লগইন থেকে সংযোগ বিচ্ছিন্ন হয়ে পড়েছিল - সুতরাং ডেটাবেস -> সুরক্ষা -> ব্যবহারকারীদের অধীনে একটি 'আইআইএস অ্যাপ্পল \ এএসপি.নেট ভি 4.0' ছিল তবে ব্যবহারকারীরা সুরক্ষার অধীনে নেই -> লগইন

সুরক্ষা -> লগইনগুলিতে লগইন 'আইআইএস অ্যাপ্পল \ এএসপি.নেট ভি 4.0' যুক্ত হয়েছে, এসকিউএল সার্ভার স্বয়ংক্রিয়ভাবে এটি ডাটাবেসে ব্যবহারকারীর সাথে ম্যাপ করে (এটি নিজেই করতে হবে) এবং সমস্যাটি স্থির হয়েছে।


1
কেবল যোগ করার জন্য ... বামদিকে, অনুমতিগুলির অধীনে ... db_writer এবং db_reader টিক চিহ্ন দিন; এবং সেই অনুমতিগুলি ব্যবহার করবে এমন ডাটাবেস নির্বাচন করুন।
বেনজিব

4

আপনি উইন্ডোজ প্রমাণীকরণ ব্যবহার করছেন এবং আপনি যদি আপনার সংযোগের স্ট্রিংয়ে কোনও ব্যবহারকারীর পাসওয়ার্ড উল্লেখ না করে থাকেন তবে আপনাকে প্রথমে পরিষ্কার করতে হবে:

লোকালহোস্টের মাধ্যমে আপনি যখন আপনার কোডটি চালাবেন তখন কী ঘটে: আপনি যখন লোকালহোস্ট থেকে আপনার ডাব্লুসিএফ পরীক্ষার ক্লায়েন্টটি চালাবেন তখন এটি স্থানীয় ডেবাগ মোড অ্যাপ্লিকেশনটি আপনার অ্যাকাউন্টের পরিষেবাতে ডাটাবেস কল করার কারণে এটি ডাটাবেসে যোগাযোগ করতে সক্ষম হবে। সুতরাং এটিতে ডাটাবেসে অ্যাক্সেস রয়েছে কারণ devenv.exe আপনার ব্যবহারকারীর অ্যাকাউন্টের অধীনে চলছে।

কিন্তু আপনি যখন আইআইএসে আপনার ওয়েব পরিষেবা স্থাপন করবেন। এখন বুঝতে হবে এই পরিষেবাটি আপনার অ্যাকাউন্টের আওতায় নয় আইআইএস এর অধীনে চলে। সুতরাং আপনার উইন্ডোজ প্রমাণীকরণের জন্য বেকার সার্ভার অ্যাক্সেস করতে আইআইএস পরিষেবাতে অ্যাক্সেসের অধিকারগুলি নির্ধারণ করতে হবে। অ্যাক্সেস রাইটস ইস্যুর কারণে আপনার ওয়েব সার্ভিস এসকিউএল সার্ভারের সাথে যোগাযোগ করতে সক্ষম হবে না এবং ব্যবহারকারীর জন্য লগইন ব্যর্থ হয়েছে _______ (এখানে আপনার ব্যবহারকারী আসবেন)

সুতরাং আপনি যদি আপনার ডাটাবেস সংযোগ করতে উইন্ডোজ প্রমাণীকরণ ব্যবহার করেন তবে আপনাকে কেবল আইআইএস অ্যাপ্লিকেশন পুল সেটিংস পরিবর্তন করতে হবে। আপনাকে আইআইএস অ্যাপ্লিকেশন পুলের পরিচয়টি স্থানীয় সিস্টেমে পরিবর্তন করতে হবে।

নীচে উইন্ডোজ প্রমাণীকরণের পদক্ষেপগুলি WCF:

1) আইআইএস খুলুন (উইন্ডোজ + আর (রান করুন) তারপরে inetmgr টাইপ করুন, তারপরে ঠিক আছে ক্লিক করুন)

2) সংযোগের অধীনে আপনার পিসি নাম ডাবল ক্লিক করুন

3) অ্যাপ্লিকেশন পুল ক্লিক করুন

4) আপনার অ্যাপ পুলটি নির্বাচন করুন (ডিফল্ট অ্যাপপুল)

5) তারপরে ডান ক্লিক করুন অ্যাডভান্সড সেটিংসে ক্রিয়াকলাপ:

6) প্রক্রিয়া মডেল বিভাগে যান এবং

7) আইডেন্টিটি ক্লিক করুন।

8) এখন লোকালসিস্টেম নির্বাচন করুন।

এখন আপনার এসকিএল সার্ভার পরিচালনার স্টুডিও খুলুন: চালান-> তারপরে এসএসএস -> টাইপ করুন ঠিক আছে এসএসএসে, আপনার উইন্ডোজ প্রমাণীকরণ অ্যাকাউন্ট ব্যবহার করে লগইন করুন। সুরক্ষা ট্যাবটি লগইন ট্যাব প্রসারিত করুন তারপরে আপনি আপনার অ্যাকাউন্টটি দেখতে সক্ষম হবেন।

এখন আপনার অ্যাকাউন্টের খোলা বৈশিষ্ট্যগুলি ইউজারম্যাপিংয়ে যান তারপরে আপনি সংযুক্ত করতে চান এমন ডাটাবেস নির্বাচন করুন এবং নির্বাচিত ডাটাবেসের জন্য আপনি যে সদস্যতার ভূমিকা নিতে চান সেগুলি চেক করুন। ঠিক আছে ক্লিক করুন।

(নেটওয়ার্ক পরিষেবাদিগুলির জন্য অর্থাৎ ইন্ট্রানেট ব্যবহারকারীদের জন্য আপনাকে এনটি অথরিটি Y সিস্টেম ব্যবহারকারীর জন্যও উপরের সেটিংসটি কনফিগার করতে হবে)

যোগ করুন বিশ্বাসযোগ্য_সংযোগ = সত্য; আপনার সংযোগ স্ট্রিং মধ্যে সম্পত্তি। এটি সংরক্ষণ করুন এবং ওয়েব পরিষেবা মোতায়েন করুন। অ্যাপ পুলটি পুনরায় চালু করুন।

আপনি এখন ডাটাবেস সংযোগ করতে সক্ষম হবেন।


পারফেক্ট! লোকালসিস্টেম আমার জন্য এই সমস্যাটি ঠিক করেছে :)
সর্বগ্রাসী

3

আমার এই বার্তাটি ছিল এবং আমি ওয়েব সার্ভারে উইন্ডোজ প্রমাণীকরণ ব্যবহার করি।

আমি চেয়েছিলাম বর্তমানে অ্যাপ্লিকেশন পুলটিতে নির্দিষ্ট করা আইআইএস অ্যাপ্পল \ এএসপি.এনইটি ভি 4 ব্যবহারকারী ব্যবহার না করে বর্তমানে প্রমাণীকৃত ওয়েব ব্যবহারকারীর ডাটাবেসের বিরুদ্ধে প্রমাণীকরণ করা হোক।

ওয়েবকন্টফাইগ-এ নিম্নলিখিতটি প্রবেশ করে আমার জন্য এটি স্থির হয়েছে:

<system.web>
  <identity impersonate="true" />
</system.web>

https://msdn.microsoft.com/en-us/library/bsz5788z.aspx

আমি এসকিউএল ডিবিতে অ্যাপপুল ব্যবহারকারীর নাম তৈরি করতে বা কেবল এসকিউএল আথ ব্যবহার করার জন্য অন্যান্য উত্তরগুলি দেখতে পাচ্ছি। উভয়ই সঠিক হবে যদি আপনি এসকিউএল এর ভিতরে পৃথক উইন্ডোজ ব্যবহারকারীদের ক্যাপচার বা সুরক্ষিত করতে না চান।

টম


এটি আমাদের জন্য এটি সমাধান করেছে এবং কেন তা আমরা নিশ্চিত নই। আইআইএস / অ্যাপপুল স্পষ্টভাবে "ইন্টিগ্রেটেড সিকিউরিটি = ট্রুথ" বলছে এমন সংযোগস্থলিকে হাইজ্যাক করে? কেন ??
গাই

3

1_ ইন স্ক্লাল সার্ভার সুরক্ষা => লগইন => এনটি প্রমাণতা \ সিস্টেম => রাইটক্লিক => সম্পত্তি => ব্যবহারকারীর মানচিত্র => আপনারডাটাবেস>> সর্বজনীন ও মালিক নির্বাচন করুন>> ঠিক আছে 2_In IIs অ্যাপ্লিকেশন পুলগুলি ডিফল্ট অ্যাপ্লিকেশন => পরিচয় => স্থানীয় সিস্টেম => ঠিক আছে



2

যখন আপনি ভিজুয়াল স্টুডিও অ্যাপ্লিকেশন শুরু করবেন তখন ক্যাসিনি আপনার নিজের ব্যবহারকারী পরিচয় হিসাবে আপনার ওয়েবসাইটটি চালায়। আইআইএস অ্যাপ পুল পরিচয় হিসাবে আপনার ওয়েবসাইট চালায়। অ্যাপ পুল পুল পরিচয় ডেটাবেসে অ্যাক্সেস না দেওয়া হলে আপনি ত্রুটি পান।

সুরক্ষা উন্নয়নের জন্য আইআইএস অ্যাপ পুল পরিচয় চালু করেছে। আপনি ডিফল্ট অ্যাপ পুল আইডেন্টিটির অধীনে ওয়েবসাইটগুলি চালনা করতে পারেন, বা নিজস্ব নামের সাথে একটি নতুন অ্যাপ পুল তৈরি করতে পারেন বা নিজের নামের সাথে একটি নতুন অ্যাপ পুল তৈরি করতে পারেন যা ব্যবহারকারী অ্যাকাউন্টের অধীনে চলে (সাধারণত ডোমেন অ্যাকাউন্ট)।

নেটওয়ার্কযুক্ত পরিস্থিতিতে (এটি অ্যাজুরে নয়) আপনি একটি অ্যাক্টিভ ডিরেক্টরি ডোমেন ব্যবহারকারীর অ্যাকাউন্টের অধীনে একটি নতুন অ্যাপ পুল রান করতে পারেন; আমি এটি মেশিন অ্যাকাউন্টের চেয়ে বেশি পছন্দ করি। এটি করার ফলে গ্রাহকীয় সুরক্ষা এবং ডাটাবেসগুলি সহ নেটওয়ার্ক সংস্থানগুলিতে গ্রানুলার অ্যাক্সেস পাওয়া যায়। প্রতিটি ওয়েবসাইট আলাদা অ্যাপ পুলে চলে (এবং সেইগুলির প্রত্যেকটির নিজস্ব ডোমেন ব্যবহারকারীর অ্যাকাউন্টের অধীনে চলে)।

সমস্ত সংযোগ স্ট্রিংগুলিতে উইন্ডোজ ইন্টিগ্রেটেড সুরক্ষা ব্যবহার করা চালিয়ে যান। এসকিউএল সার্ভারে, ডোমেন ব্যবহারকারীদের লগইন হিসাবে যুক্ত করুন এবং প্রতি ওয়েবসাইটের ভিত্তিতে ডাটাবেস, টেবিল, এসপি ইত্যাদিতে অনুমতি প্রদান করুন। ওয়েবসাইট 1 দ্বারা ব্যবহৃত উদাহরণস্বরূপ ডিবি 1-এ ইউজার 1-এর জন্য একটি লগইন রয়েছে কারণ ওয়েবসাইট 1 অ্যাপ্লিকেশনটিতে ইউজার 1 হিসাবে চালিত হয়।

ভিজ্যুয়াল স্টুডিও বিল্ট-ইন ডিবি (উদাহরণস্বরূপ লোকালডিবি) এবং বিল্ট-ইন ওয়েব সার্ভার থেকে একটি উত্পাদনের পরিবেশে স্থাপনের একটি চ্যালেঞ্জটি এই সত্য থেকে উদ্ভূত যে বিকাশকারীর ব্যবহারকারী এসআইডি এবং এর এসিএলগুলি নিরাপদ উত্পাদন পরিবেশে ব্যবহার করা উচিত নয়। মাইক্রোসফ্ট মোতায়েনের জন্য সরঞ্জাম সরবরাহ করে। তবে দরিদ্র বিকাশকারীকে দয়া করুন যিনি লোকালডিবি এবং লোকাল ওয়েবসার্ভারের সাথে নতুন সহজ ভিএস আইডিই-র বাক্সের বাইরে কাজ করার জন্য অভ্যস্ত, কারণ এই সরঞ্জামগুলি সেই বিকাশকারীকে বিশেষত সিসএডমিন এবং ডিবিএডমিন সমর্থন না করার জন্য এমন বিকাশকারীদের পক্ষে ব্যবহার করা শক্ত হবে or তাদের বিশেষ জ্ঞান। তবুও উপরে উল্লিখিত এন্টারপ্রাইজ নেটওয়ার্ক পরিস্থিতির তুলনায় আজুরেতে মোতায়েন করা সহজ।


2

যদি আপনার ওয়েলকনফাইগে আপনার সংযোগের স্ট্রিং যুক্ত হয় তবে নিশ্চিত হয়ে নিন যে "ইন্টিগ্রেটেড সিকিউরিটি = মিথ্যা"; সুতরাং এটি ওয়েবকনফাইগে নির্দিষ্ট আইডি এবং পাসওয়ার্ড ব্যবহার করবে।

<connectionStrings>
    <add providerName="System.Data.SqlClient" name="MyDbContext" connectionString="Data Source=localhost,1433;Initial Catalog=MyDatabase;user id=MyUserName;Password=MyPassword;Trusted_Connection=true;Integrated Security=false;" />
</connectionStrings>

2

উল্লিখিত হিসাবে, উইন্ডোজ প্রমাণীকরণ ব্যবহার করবেন না, এসকিউএল সার্ভার প্রমাণীকরণ ব্যবহার করুন

এছাড়াও যদি আপনি "সার্ভার সংযোগ" ডায়ালগটি ব্যবহার করে সংযোগ তৈরি করে থাকেন তবে ওয়েবকনফাইগে সংযোগগুলি পরীক্ষা করে নেওয়ার বিষয়টি নিশ্চিত করুন। সম্ভবত আপনি সংযোগটি তৈরি / সংশোধন করেছেন এবং এটি ওয়েবকনফাইগে বিশ্বস্ত সংযোগ হিসাবে সঞ্চিত ছিল। কেবল এই প্রমাণীকরণ ব্যবহার করুন

<add name="MyDBConnectionString" connectionString="Data Source=localhost;Initial Catalog=Finantial;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient"/>

যা ত্রুটি ঠিক করা উচিত।


2

ব্যবহারকারীর জন্য ডাটাবেসে অনুমতি দেওয়ার আরেকটি উপায় IIS APPPOOL\ASP.NET v4.0নিম্নরূপ।
এখানে চিত্র বর্ণনা লিখুন


  1. ব্যবহারকারীর নাম এবং লগইন নাম হিসাবে নতুন ব্যবহারকারী যুক্ত করুন IIS APPPOOL\ASP.NET v4.0আপনার ডিফল্ট স্কিমা ।
  2. মালিকের স্কিমা এবং সদস্যপদে যান, পরীক্ষা করুন db_datareader, db_datawriter

1

ভেবেছিলাম যে এটি প্রশ্নের উত্তর হিসাবে প্রাসঙ্গিক হিসাবে এটি উত্তর হিসাবে পোস্ট করব এবং কিছু ক্ষেত্রে এর উত্তর দিতে পারে।

ডাটাবেসের অস্তিত্ব না থাকলে একই বার্তাটি উপস্থিত হয়!

নিশ্চিত হয়ে নিন যে আপনার সংযোগের স্ট্রিংয়ে কোনও ভুল বানান নেই, ডান সার্ভারের উদাহরণগুলিতে ইঙ্গিত করছে ইত্যাদি etc.


1

আমার একই সমস্যাটি আমি এটির এখন মিথ্যাতে পরিবর্তিত Integrated Security=Trueহয়ে সমাধান করেছি solved


1

আমার অনুরূপ কিছু ঘটেছিল যা আমার জন্য কাজ করেছিল তা সম্পত্তি পরিবর্তন করা ছিল ইন্টিগ্রেটেড সুরক্ষা = সত্য থেকে ইন্টিগ্রেটেড সুরক্ষা = ওয়েবসাইটের ওয়েবকনফাইগে মিথ্যা


এইটা কাজ করে! আমি সবেমাত্র ইন্টিগ্রেটেড সিকিউরিটি সরিয়েছি
চার্লস জাভিয়ার

0

আপনি যা @Teddyসুপারিশ করেছেন তা করেছেন এবং আপনি এখনও চালিয়ে যান একই ত্রুটি পাবেন?

নিশ্চিত হয়ে নিন যে আপনি অ্যাপ্লিকেশন পুলের সেটিংস পরিবর্তন করছেন যা আপনার ভার্চুয়াল ডিরেক্টরিটির সাথে মিলে যায় এবং প্যারেন্ট সার্ভারের সাথে নয়। প্রতিটি ভার্চুয়াল ডিরেক্টরিতে নিজস্ব অ্যাপপুল থাকে এবং উত্তরাধিকার সূত্রে প্রাপ্ত হয় না।


0

ডিফল্ট অ্যাপপুল আইডেন্টিটি সম্পত্তি এবং এসকিএল সার্ভারে নেটওয়ার্ক সার্ভিস সেট করে ইউজার নেটওয়ার্ক সার্ভিস যুক্ত করে এবং এটি আপনার ডাটাবেসে অ্যাপ্রোপিয়েট অনুমতি দেয়, এটি আমার পক্ষে খুব ভাল কাজ করেছে, আমি স্থানীয়ভাবে পরীক্ষা করেছি তবে আমি মনে করি এটি যে কোনও থেকে সংযোগের জন্য সেরা কনফিগারেশন is নেটওয়ার্কের অন্যান্য কম্পিউটার। আপনি যখন আইআইএস-তে আইডেন্টিটিতে লোকালসিস্টেম সেট করেন যা ভাল কাজ করে এবং এসকিএল সার্ভারে অন্য কোনও ব্যবহারকারী তৈরি করা প্রয়োজন হয় না তবে আমি মনে করি এটি কোনও নেটওয়ার্ক পরিবেশে কাজ করবে না।


0

আমি এএসপি.এনইটি ওয়েব এপিআই পরীক্ষা করে একই সমস্যার সম্মুখীন হয়েছি

এসকিউএল সার্ভারে এক্সপ্রেস ডেটাবেস 2013 এ এসকিউএল সার্ভারে তৈরি এক্সপ্রেস ডেটাবেস বিকাশযুক্ত আইআইএস এক্সপ্রেস নির্মিত (এক্সপ্রেস) আইআইএস লোকাল ব্যবহারের জন্য সংশোধিত হয়েছে (বৈশিষ্ট্য পৃষ্ঠা - ওয়েব অপশন থেকে) ফিডলারের সাথে রান পরীক্ষা ত্রুটি পেয়েছে - ডাটাবেস খুলতে অক্ষম সরবরাহকারীর জন্য .... 'APPPOOL \ DefaultAppPool' উদ্ধৃত করে

সমাধান কাজ করে।

আইআইএস-এ

অ্যাপ্লিকেশন পুলে ক্লিক করুন 'ডিফল্ট অ্যাপপুল' সেট আইডেন্টিফাই = 'অ্যাপ্লিকেশনপুল আইডেন্টিটি' সেট। নেট ফ্রেমওয়ার্ক = ভি 4.0 (যদিও আমার অ্যাপ্লিকেশনটি 4.5 ছিল)

এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওতে

সিকিউরিটি ফোল্ডারে রাইট ক্লিক করুন (এসকিউএল সার্ভার ইঞ্জিনের অধীনে সমস্ত টেবিলের জন্য প্রযোজ্য) ব্যবহারকারীকে ডান ক্লিক করুন এবং 'গ্রান্ট' কলামে 'আইআইএস অ্যাপ্পল \ ডিফল্ট অ্যাপপুল' সিকিওরেবল যুক্ত করুন যে বিকল্পগুলি আপনি দিতে চান তা পরীক্ষা করুন। উপরোক্ত বিষয়ে যদি আপনি ডিবিএ হন তবে আপনি সম্ভবত জানেন এবং এই বিকল্পগুলি কী তা নিয়ন্ত্রণ করতে চান। আপনি যদি আমার মতো হন তবে একজন বিকাশকারী কেবল আপনার ওয়েবে এপিআই পরিষেবাটি পরীক্ষা করতে চেয়েছিলেন যা এমভিসি স্টাইলে EF 6 এর মাধ্যমে এসকিউএল সার্ভার অ্যাক্সেস করার ক্ষেত্রে ঘটে থাকে তবে কেবল সমস্ত কিছু পরীক্ষা করে দেখুন। :) হ্যাঁ আমি জানি তবে এটি কাজ করেছিল।


0

আপনি যদি নতুন লগইন যুক্ত করেন তবে নিশ্চিত হয়ে নিন যে সার্ভারের বৈশিষ্ট্যগুলি (রাইট ক্লিক -> বৈশিষ্ট্য) / সুরক্ষার অধীনে, প্রমাণীকরণ মোডটি কেবল উইন্ডো নয়, উভয় স্ক্লাইসারবার এবং উইন্ডোতে সেট করা আছে।


0

সুরক্ষায় "প্রত্যেককে" যুক্ত করুন Add আপনি যদি ডেটাবেসে সার্ভার এবং ব্যবহারকারীদের লগ ইন করেন, তবে এটি হ'ল এটি। আশাকরি এটা সাহায্য করবে.


আমরা আমাদের প্রয়োজন অনুসারে অনুমতি সেট করি authe প্রমাণীকরণের অংশটি পরিচালনা করা হয় এবং অ্যাক্সেসের অনুমতি দেওয়ার জন্য আমরা কোডের মাধ্যমে অনুমোদন পরীক্ষা করি। যদি আপনার মনে কোনও দ্বিধাদ্বন্দ্ব থাকে তবে আমাকে সংশোধন করতে দ্বিধা বোধ করবেন না। ধন্যবাদ।
অবিনাভা বসু

0

রেকর্ডের জন্য, যদি আপনি থেকে স্যুইচ LocalDBকরার পরে এই ত্রুটির মুখোমুখি হন তবে SQLEXPRESSনিশ্চিত হয়ে নিন যে ডাটাবেসটি ইতিমধ্যে রয়েছেSQLEXPRESS । আপনি ম্যানেজমেন্ট স্টুডিওতে এটি যাচাই করতে পারেন।

Entity Frameworkস্যুইচ করার পরে ব্যবহার করার সময় আমারও একই সমস্যা ছিল SQLEXPRESS from LocalDB। আমাকে Update-Databaseকমান্ড চালাতে হয়েছিল । আমি এর পরে সফলভাবে সংযোগ করতে সক্ষম হয়েছি।


0

@ জেফগগাতা যেমন বলেছিলেন ঠিক তেমনই আমি করেছি তবে ত্রুটিটি পেয়েছি:

Windows NT user or group 'IIS APPPOOL\ASP.NET v4.0' not found. Check the name again. (Microsoft SQL Server, Error: 15401)

আমি আবার আমার ত্রুটির বার্তাটি তাকালাম এবং তা বলেছিল Login failed for user 'IIS APPPOOL\DefaultAppPool'.

একটি ব্যবহারকারী যুক্ত করার পরে IIS APPPOOL\DefaultAppPoolসবকিছু কাজ করে।


0

আমি এসকিউএল সার্ভার প্রোফাইলার (এসএসএমএস => সরঞ্জাম মেনুতে উপলব্ধ) ব্যবহার করেছি এবং সেখানে (আইআইএস ডাটাবেসে সংযোগ দেওয়ার চেষ্টা করার সময়) দেখেছি যে আমার আইআইএস ব্যবহারকারী কোনও কারণে এনটি আধিপত্য \ আইইউএসআর, এই প্রশ্নের উত্তরে প্রস্তাবিত সমস্ত পদক্ষেপের বিষয় নয় no । সুতরাং আমি সেই ব্যবহারকারীকে এসকিউএল সার্ভারে যুক্ত করেছি, এবং এটি কাজ করেছে ...


0

Asp.net ওয়েবফর্মে,

এই ত্রুটিটি এসপ নেট থেকে ইনস্টল করার সময় সংশোধন করা হয়েছে:

সার্ভার ম্যানেজার> পরিচালনা> ভূমিকা ও বৈশিষ্ট্য যুক্ত করুন> সার্ভার রোলস> ওয়েব সার্ভার (আইআইএস)> ওয়েব সার্ভার> অ্যাপ্লিকেশন ডেভলপমেন্ট> এএসপি.নেট 3.5 / 4.6 ইনস্টল করা আছে।

আমার সমস্যা স্থির

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.