В нашем проекте ASP.NET MVC 5 мы настроили приложение на использование аутентификации ws-федерации с помощью Azure Access Control.ASP.NET MVC обходит/моделирует аутентификацию ws-федерации/на основе утверждений
Выдержки из нашего Web.config:
...
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" persistentSessionLifetime="30:0:0" />
<wsFederation passiveRedirectEnabled="true" realm="http://our-realm/.../" reply="http://localhost/" requireHttps="false" issuer="https://ourissuername.accesscontrol.windows.net/v2/wsfederation" />
</federationConfiguration>
</system.identityModel.services>
...
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthentication" />
<add name="WSFederationAuthenticationModule" type="System.IdentityModel.Services.WSFederationAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />
...
</modules>
...
Позже в приложении, мы рассчитываем на то, что ClaimsPrincipal.Current.Identity.IsAuthenticated
и имеет все необходимые требования, по крайней мере, адрес электронной почты.
Для целей стресс-тестирования мы хотели бы моделировать закодированный ClaimsPrincipal
с нашими пользовательскими утверждениями (например, с помощью некоторого настраиваемого кода, доступного только для этой конфигурации) и обойти весь процесс wsfederation, особенно для всего перенаправления. Мы можем, например, просто удалить WSFederationAuthenticationModule
и можем пропустить процесс ws-федерации, но я не знаю, как предоставить свои собственные ClaimsPrincipal
.
Любые подсказки, как решить это с минимальными усилиями? (наименьшее усилие, потому что это не будет для производства и т. д.)
Спасибо, да, я знаю это, но это не обойдет весь процесс перенаправления, и я надеялся избавиться от этого, сценарий стресс-теста будет работать намного лучше, без этого – thmshd