Aktualizacja: pierwotne pytanie dotyczyło systemu Windows Server 2008, ale rozwiązanie jest łatwiejsze w systemach Windows Server 2008 R2 i Windows Server 2012 (oraz Windows 7 i 8). Możesz dodać użytkownika poprzez interfejs NTFS, wpisując go bezpośrednio. Nazwa ma format IIS APPPOOL \ {nazwa puli aplikacji}. Na przykład: IIS APPPOOL \ DefaultAppPool.
IIS APPPOOL\{app pool name}
Uwaga: w komentarzach poniżej należy pamiętać o dwóch rzeczach:
- Wpisz ciąg bezpośrednio w „Wybierz użytkownika lub grupę”, a nie w polu wyszukiwania.
- W środowisku domeny musisz najpierw ustawić lokalizację na komputerze lokalnym.
Odniesienie do artykułu Microsoft Docs: Tożsamości puli aplikacji> Zabezpieczanie zasobów
Oryginalna odpowiedź: (dla Windows Server 2008) To świetna funkcja, ale jak wspomniałeś, nie jest jeszcze w pełni zaimplementowana. Możesz dodać tożsamość puli aplikacji z wiersza polecenia za pomocą czegoś takiego jak icacls, a następnie możesz zarządzać nią z GUI. Na przykład uruchom coś takiego z wiersza polecenia:
icacls c:\inetpub\wwwroot /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)
Następnie w Eksploratorze Windows przejdź do folderu wwwroot i edytuj uprawnienia bezpieczeństwa. Zobaczysz coś, co wygląda jak grupa (ikona grupy) o nazwie DefaultAppPool. Możesz teraz edytować uprawnienia.
Jednak wcale nie musisz tego używać. Jest to bonus, z którego możesz skorzystać, jeśli chcesz. Możesz użyć starego sposobu tworzenia niestandardowego użytkownika dla puli aplikacji i przypisywania niestandardowego użytkownika do dysku. Ma pełne wsparcie dla interfejsu użytkownika.
Ta metoda wstrzykiwania identyfikatora SID jest przyjemna, ponieważ pozwala korzystać z jednego użytkownika, ale w pełni odizolować każdą witrynę od siebie bez konieczności tworzenia unikalnych użytkowników dla każdej puli aplikacji. Całkiem imponujące, a będzie jeszcze lepiej z obsługą interfejsu użytkownika.
Uwaga: Jeśli nie możesz znaleźć użytkownika puli aplikacji, sprawdź, czy usługa Windows o nazwie Pomocnik hosta aplikacji jest uruchomiona. Jest to usługa mapująca użytkowników puli aplikacji na konta Windows.
Musisz upewnić się, że
From this location
pole jest ustawionelocal machine
na domenę, a nie na domenę.Miałem ten sam problem i raz go zmieniłem, że działało dobrze.
źródło
Powinieneś naprawdę tworzyć grupy według „roli” i przypisywać dostęp do tej grupy do systemu plików. Następnie w razie potrzeby dodaj pulę aplikacji do grup specyficznych dla roli. W ten sposób nawet jeśli później usuniesz pulę aplikacji (a użytkownik wirtualny przejdzie do kupy ), nie musisz się martwić o ponowne wykonanie wszystkich uprawnień, po prostu dodajesz zastępczą pulę aplikacji do istniejącej grupy.
źródło
Po przeczytaniu @Scott Forsyth - odpowiedź MVP próbowałem ponownie uruchomić usługę pomocniczą hosta aplikacji. To rozwiązało problem dla mnie.
źródło
Uruchomiłem WS8 R2 i nie mogłem dodać
IIS APPPOOL\DefaultAppPool
za pomocą Eksploratora Windows. Jedyny sposób, w jaki działał, to za pomocą wiersza poleceń:źródło
Jeśli to pytanie dotyczy sposobu wykonania _sp_send_dbmail w bazie danych msdb (przy użyciu procedury przechowywanej SQL Mail Database w MSdb), oto kilka obejść. Dodaj nazwę użytkownika aplikacji .net bazy danych (która jest zdefiniowana w parametrze połączenia w aplikacji .net) do użytkownika msdb z członkostwem w roli „DatabaseMailUserRole”
źródło