Я использую ASP.Net и формы проверки подлинности. Когда пользователь перенаправляется на страницу входа, я получаю ошибку JavaScript:
Сообщение: ошибка синтаксиса Строка: 3 знака: 1
Код: 0 URI:
http://localhost:49791/login.aspx?ReturnUrl=%2fWebImageButton.js
Это потому, что я использую пользовательскую кнопку изображения в отдельном элементе управления веб-проекта, который добавляет ScriptReference на страницу:
public class WebImageButton : LinkButton, IScriptControl, IButtonControl
{
protected override void OnPreRender(EventArgs e)
{
// Link the script up with the script manager
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
if (scriptManager != null)
{
scriptManager.RegisterScriptControl(this);
scriptManager.Scripts.Add(new ScriptReference("<snip>.WebImageButton.js", "<snip>"));
}
base.OnPreRender(e);
}
}
Если я добавлю следующее правило в мой файл Web.Config, файл будет успешно импортирован:
<location path="WebImageButton.js">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Это не очень хорошо, так как у меня есть несколько пользовательских элементов управления, которые делают то же самое, и мне не особенно нравится аутентифицировать каждый из их js-файлов по отдельности.
Нет ли способа объявить, что все импортированные ссылки на скрипты должны быть разрешены? Я попытался авторизовать файл WebResource.axd, если это разрешено, но сама страница (при отображении) физически ссылается на файл WebImageButton.js.
Идеальный сценарий будет выглядеть примерно так:
<location path="My.WebControlLibraryProject.Controls">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Есть ли способ добиться этого без перечисления каждого файла?
<Ч />
EDIT: Просто чтобы прояснить, эти файлы сценариев находятся в другом проекте и отсутствуют в моем реальном веб-проекте. Я знаю, как объявлять пути расположения путей к каталогам для включения большого количества файлов в один пакет, но я не могу понять, как аутентифицировать автоматические ссылки на сценарии из встроенных ресурсов.