IIS 7.5 и авторизация - PullRequest
       23

IIS 7.5 и авторизация

2 голосов
/ 07 сентября 2011

У меня есть сайт asp.net/silverlight, который работал под iis6.Мы выполняем обновление до iis7.5, но я не могу заставить его работать должным образом.

По сути, ранее сайт был настроен с авторизацией по формам, и весь сайт был настроен на запрет всех пользователей.Затем я настраиваю страницу входа, изображения и файлы default.aspx, которые будут доступны аномально.Все хорошо.

У меня также были настройки безопасности ролей в других папках.После входа в систему пользователи получают свои роли и получают доступ к папкам, к которым им предоставлен доступ.

В версии 7.5 практически ничего не работает.Я следил за всей информацией в Интернете, но безрезультатно.Может ли кто-нибудь помочь

Вот разделы моего файла web.config

    <authentication mode="Forms">
        <forms loginUrl="login.aspx" requireSSL="false" timeout="30" />
    </authentication>

    <authorization>
        <deny users="?" />
    </authorization>


<location path="images">
    <system.webServer>
        <security>
        <authorization>
                    <add accessType="Allow" users="*" />
        </authorization>
        </security>
    </system.webServer>
</location>

<location path="default.aspx">
    <system.webServer>
        <security>
        <authorization>
                    <add accessType="Allow" users="*" />
        </authorization>
        </security>
    </system.webServer>
</location>

<location path="www">
    <system.webServer>
        <security>
        <authorization>
                    <add accessType="Allow" users="*" />
        </authorization>
        </security>
    </system.webServer>
</location>

<location path="manuals/customer">
    <system.webServer>
        <security>
        <authorization>
            <add accessType="Allow" users="" roles="man_customer" />
            <add accessType="Deny" users="*" />
        </authorization>          
        </security>
    </system.webServer>
</location>

<location path="manuals/msa">
    <system.webServer>
        <security>
        <authorization>
            <add accessType="Allow" users="" roles="man_msa" />
            <add accessType="Deny" users="*" />
        </authorization>          
        </security>
    </system.webServer>
</location>


<location path="documents/msa">
    <system.webServer>
        <security>
        <authorization>
            <add accessType="Allow" users="" roles="doc_msa" />
            <add accessType="Deny" users="*" />
        </authorization>          
        </security>
    </system.webServer>
</location>

<location path="documents/admin">
    <system.webServer>
        <security>
        <authorization>
            <add accessType="Allow" users="" roles="doc_admin" />
            <add accessType="Deny" users="*" />
        </authorization>          
        </security>
    </system.webServer>
</location>

<location path="documents/customer">
    <system.webServer>
        <security>
        <authorization>
            <add accessType="Allow" users="" roles="doc_customer" />
            <add accessType="Deny" users="*" />
        </authorization>          
        </security>
    </system.webServer>
</location>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules>
          <remove name="FormsAuthentication" /> 
          <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" /> 
          <remove name="UrlAuthorization" /> 
          <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" /> 
          <remove name="DefaultAuthentication" /> 
          <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" /> 
          <remove name="RoleManager" /> 
          <add name="RoleManager" type="System.Web.Security.RoleManagerModule" /> 
          <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

    </modules>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated" />
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </handlers>
    <security>
        <authorization>
            <remove users="*" roles="" verbs="" />
            <add accessType="Allow" users="?" />
        </authorization>
    </security>
    <defaultDocument>
        <files>
            <clear />
            <add value="default.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

Когда веб-сайт запускается, он первоначально перенаправляется в файл login.aspx.Изображение из папки изображений недоступно.

1 Ответ

0 голосов
/ 07 сентября 2011

Не знаю, как у вас это работает на IIS 6, но у меня есть что-то похожее, работающее на IIS 7.5, и мой web.config выглядит немного иначе.Попробуйте это:

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="login.aspx" requireSSL="false" timeout="30" />
  </authentication>
  <authorization>
    <deny users="?"/>
  </authorization>
</system.web>

<location path="images">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...