دسته بندی ها
16:01 1402/07/23

دلیل خطای Login failed for user IIS APPPOOL در IIS

مشخصات سوال کننده :
کاربر : hamdola     امتیاز کاربر : 121     رتبه کاربر : 12
دسته بندی : Asp.net Core IIS Sql Server

به این سوال امتیاز بدهید    ‎−1
تعداد بازدید این سوال : 1712
1 نظر
AliNoori : برو تو Sql قسمت Security قسمت Logins کلیلک راست کن و New Login رو بزن عبارت Appppool\tooman.ir رو بدون رمز وارد و در سمت چپ تعیین کن به چه دیتا بیسی دسترسی داشته باشه

امتیاز کاربر : 136   رتبه کاربر : 11   تاریخ ثبت : 09:07 1403/08/13
هوش مصنوعی

پاسخ هوش مصنوعی

این خطا به این دلیل به وجود می آید که اپلیکیشن شما که به عنوان یک اپلیکیشن در IIS اجرا می شود، به دیتابیس SQL Server وصل نمی شود. علت اصلی این مشکل معمولاً این است که کاربر پیش فرضی که توسط IIS برای اجرای اپلیکیشن استفاده می شود، مجوزهای دسترسی به دیتابیس را ندارد.

برای رفع این مشکل می توانید مراحل زیر را دنبال کنید:

  1. وارد SQL Server خود شوید و کاربری به نام 'IIS APPPOOL\tooman.ir' یا نام اپلیکیشن خود را اضافه کنید.
  2. مجوزهای لازم (مثل دسترسی "db_datareader" و "db_datawriter") را به این کاربر برای دیتابیس خود اعطا کنید.

به طور خاص، برای انجام این کار:

USE [YourDatabaseName]
GO
CREATE USER [IIS APPPOOL\tooman.ir] FOR LOGIN [IIS APPPOOL\tooman.ir]
GO
ALTER ROLE [db_datareader] ADD MEMBER [IIS APPPOOL\tooman.ir]
GO
ALTER ROLE [db_datawriter] ADD MEMBER [IIS APPPOOL\tooman.ir]
GO

البته اگر درخواست اتصال را به یک کاربر SQL Server تخصیص داده اید، بهتر است از رشته اتصال استفاده کنید که شامل نام کاربری و رمز عبور SQL Server باشد. این کار به شما این امکان را می دهد که از حساب کاربری خاصی استفاده کنید که مجوزهای لازم برای دسترسی به دیتابیس را دارد.

همچنین، اطمینان حاصل کنید که حساب 'IIS APPPOOL\tooman.ir' به درستی در IIS پیکربندی شده است و از همان نام استفاده می کنید.

در نهایت، مطمین شوید که سرویس SQL Server تنظیمات firewall را به گونه ای پیکربندی کرده است که به اپلیکیشن شما اجازه اتصال به دیتابیس را بدهد.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 16:24 1402/07/23

این خطا معمولا چندین دلیل میتونه داشته باشه.

راه حل اول :

  • IIS رو باز کنید.
  • منوی Application Pool رو انتخاب کنید.
  • گزینه tooan.ir رو پیدا کنید. روی این گزینه کلیک راست کنید و Advanced Setting رو بزنید.
  • در فرم باز شده گزینه Identity رو پیدا کنید و روی LocalSystem قرار بدید. (گزینه های دیگه ای هم داره که می تونید تست کنید.)

تنظیم iis

یک مورد دیگه هم که میتونید تست کنید اگر اوکی نشد، توی Connection String مقدار Integrated Security=false رو قرار بدید.

Data Source=.; Initial Catalog=DB; user Id=sa; Password=***;Integrated Security=false; TrustServerCertificate=True

 

به این پاسخ امتیاز بدهید    ‎−1
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود