2015-11-10 5 views
0

Я пытаюсь реализовать собственный модуль защиты http, который использует роли в карте сайта для управления доступом к страницам (вместо того, чтобы хранить все это в Интернете .config). После статьи здесь: http://www.codeproject.com/Articles/8728/Extending-ASP-NET-securityСтраницы не отображаются правильно после добавления модуля в system.webserver

Я обновил его для новых версий IIS, добавление модуля в system.webServer вместо

<system.webServer> 
    <modules> 
     <add name="SecurityHttpModule" type="DINO.SecurityHttpModule"/>  
    </modules> 
</system.webServer> 

Все, кажется, работает хорошо в отношении к этому, но страницы больше не отображается правильно. Если я смотрю на консоли в Chrome Я видел ошибки как

Resource interpreted as Stylesheet (or Script) but transferred with MIME type test/html: "http://localhost:57855/login" 
    and 
Uncaught SyntaxError: Unexpected token < (about the <!DOCTYPE html> at the top of the page) 

Я предполагаю, что я просто отсутствует что-то еще, что нужно делать, когда я добавляю собственный модуль, но я до сих пор не в состоянии найти любую ссылку на эту проблему.

+0

Этот модуль безопасности перенаправляет запрос css на страницу входа в систему. Если вы исправите это, вы исправите свою проблему. Вероятно, вы должны добавить исключение в модуль для определенных папок ресурсов или для конкретного запроса (анонимные страницы). Я рекомендую проверить документацию по конфигурации модуля –

ответ

0

Oguz Ozgul был прав в его комментарии. Чтобы исправить это, я добавил список расширений, которые я хочу проверить для разрешений, а затем я проверю это как первую часть моего метода запроса подлинности.

private static readonly List<string> extensionsToValidate = new List<string>(new string[] { ".aspx", "" }); 

private void AuthenticateRequest(Object sender, EventArgs e) 
{ 
    //Ignore specified extensions from redirection 
    string CurrentExt = Path.GetExtension(HttpContext.Current.Request.Url.LocalPath); 
    if (extensionsToValidate.Contains(CurrentExt)) 
    { 
     //do all security check work here 
    } 
    else return; 
} 

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

  • Нет связанных вопросов^_^