2016-02-04 3 views
-1

У меня возникла проблема после внедрения Owin и обеспечена защита всех контроллеров и webapi сайта asp.net mvc, используя токен cookie и токена. Все статические файлы, такие как javascripts, изображения и некоторые html-файлы, являются незащищенными и могут быть загружены без разрешения.Есть ли способ защитить статические файлы с помощью owin?

До сих пор я пытался реализовать static static (с использованием Microsoft.Owin.StaticFiles) и устанавливать статические файлы для пути запроса, но без каких-либо успехов. Например, это?

app.UseStaticFiles("/Scripts"); 

И я пытался, используя настройки web.config как этот Wich является mentiond в катаной документации, но с этого момента, чтобы позволяет говорить Ролекс должны иметь доступ к imagesX и roleY к imageY? ничего не упоминается в документации об этом или даже о том, как управлять файлами.

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
</system.webServer> 

Вопрос в том, как я могу защитить статические файлы, используя owin и cookie авторизации. Должен ли я писать собственное среднее изделие, проверяя каждый запрос, если он является статическим файлом, или есть ли какой-либо рекомендуемый пакет на nuget, который решает это?

ответ

1

OWIN способ сделать это будет с некоторого промежуточного программного обеспечения. Новое ядро ​​asp.net не будет поддерживать web.config и модули. Просто не забудьте подключить свое промежуточное программное обеспечение до статического промежуточного программного обеспечения. Это зависит от того, какова ваша система авторизации и авторизации, но вы можете здесь привести пример: https://coding.abel.nu/series/owin-authentication/

+0

Действительно ли это единственный способ сделать это? – Thorarins

+0

Auth - это ваше приложение. Вы можете использовать некоторые готовые фреймворки для проверки валидации cookie и все такое (даже запись вашего конкретного middlwware может выполняться в нескольких строках кода). Но да, модель трубопровода, где вы можете прекратить обработку запроса без вызова следующего промежуточного программного обеспечения, - это способ, которым вы должны это делать. –

+0

Итак, это все готово к методу проверки пути запроса и игнорированию некоторых частей, если они не разрешены. , спасибо за ввод – Thorarins

Смежные вопросы