System.Security.SecurityException: Неуспешна заявка за основно разрешение

Може ли някой да ми помогне да ме насочи в правилната посока как мога да поправя тази грешка?

System.Web.Services.Protocols.SoapException: Server was unable to process request. 
     ---> System.Security.SecurityException: Request for principal permission failed.
at System.Security.Permissions.PrincipalPermission.ThrowSecurityException()
at System.Security.Permissions.PrincipalPermission.Demand()
at System.Security.PermissionSet.DemandNonCAS()
at LiveDocx.MailMerge.SetLocalTemplate(String template, String format)

Инсталирах този софтуер, закупен от моята компания от LiveDocx. Така че нямам възможност да променям кода или дори да го чета. Инсталирах всичко според тяхната документация и се потвърди, че сайтът работи. Мога да променя само настройките в IIS, разрешенията за папки и Web.config. Нашият сървър, техният софтуер.

Сега имам проблем да остана влязъл в уеб услугата. Преди да си помислите, че това е клиентът за сапун, потвърдих, че работи, като се обадих на сървърите на доставчика.

Локално мога успешно да извикам уеб услугата по време на влизане и тя работи добре. Въпреки това, когато направя следващо обаждане, получавам Request for principal permission failed.

По искане на тяхната техническа поддръжка добавих <trust level="Full" /> към web.config, но това не проработи. Сега те спряха да отговарят на нашите имейли.

Аз не съм ASP.NET разработчик, така че познанията ми са ограничени относно настройките на сървъра. Може ли някой да ме насочи в правилната посока защо се случва тази грешка и няколко места, където да потърся, за да разреша този проблем?


person brady.vitrano    schedule 11.01.2012    source източник


Отговори (5)


Най-накрая намерих решение. Тази грешка относно разрешенията е малко подвеждаща. След много проби и грешки най-накрая приех, че разрешенията на потребителя на групата приложения нямат нищо общо с този проблем. Което ме накара да проуча настройките на web.config и там открих проблема.

Проблемът беше, че в предоставения web.config файл липсваше <authentication> таг и необходимите настройки. Този етикет (доколкото разбирам) е това, което позволява бисквитките. Надявам се това да помогне на другите с тази грешка, дори и да не е свързано с LiveDocx. Изглежда Request for principal permission failed. може да бъде причинено по различни причини, което го прави разочароваща грешка.

Тази статия беше много полезна Как да: Използване на членство в ASP.NET 2.0

person brady.vitrano    schedule 18.01.2012

Бих подозирал самоличността на потребителя, който изпълнява заявката, който най-вероятно е потребителят на ASP.Net Application Pool за уеб сайта, в който работи вашето IIS приложение.

Най-лесният начин да тествате това е да създадете нов набор от приложения за вашето IIS приложение (освен ако няма други приложения в текущия ви набор от приложения), изберете различна самоличност за набора от приложения (можете да започнете с мрежова услуга, но може изисква локален потребител), след това присвоете приложението си към този пул.

Това трябва да ви каже дали това е проблем с разрешенията с идентичността на пула от приложения.

person competent_tech    schedule 11.01.2012
comment
Да, това не е наборът от приложения, пробвах всеки възможен потребител и дадох пълни права на всеки потребител. - person brady.vitrano; 11.01.2012

Попаднах на това, защото имах приложение под уебсайт, конфигуриран да използва грешно име на бисквитка.

Web.config в моя основен уеб сайт изглеждаше така

<authentication mode="Forms">
  <forms name="AuthCookie" path="/"></forms>
</authentication>

и приложението под него имаше web.config под, който изглеждаше така

<authentication mode="Forms">
  <forms name="WRONGCOOKIENAME" path="/"></forms>
</authentication>

Приложението имаше уеб формуляр с конструктор, който изглеждаше така

[PrincipalPermissionAttribute(SecurityAction.Demand, Role = "Foo", Authenticated = true)]

Така че изискваше удостоверяване, но не го имаше, защото името на бисквитката беше грешно. Коригирането на името на бисквитката разреши грешката.

person mhenry1384    schedule 14.08.2012

Имах подобен проблем и използвах приложение за формуляри и продължавам да получавам този проблем. Също така използвах принципално разрешение и изискване за действие по сигурността.

Опитах всички свързани с web.config настройки и последният проблем беше с набора от приложения.

Ако мигрирате приложението от WinXP към Win7 и друга по-висока версия, може да видите, че има управляван канал, който по подразбиране насочва уебсайта към интегриран режим. Промених това на класически режим, което реши проблема. Надяваме се, че това ще помогне на членовете, които се опитват да преместят приложението от WinXp на Win7

person Sofin S    schedule 04.10.2016

След много опити и грешки със съответното четене на всички блогове и публикацията на отговора, все още не успях да го разреша.

И накрая, подозирам нещо в моя проект.

Ние сме продукт на DevExpress, чийто срок на годност е изтекъл преди няколко дни, така че според моето предположение трябва да бъде Лицензиран, тъй като закупихме лиценза за същото, сега той започна да работи нормално.

P.S.: Ако използвате лицензиран продукт, може да получите и тази грешка. Така че проверете и за лиценз

person Smit Patel    schedule 05.06.2020