ASP.NET MVC2 Форма аутентификации с локализацией - PullRequest
2 голосов
/ 14 июля 2010

У меня есть двухуровневая аутентификация, сначала пользователь вводит свой nt / пароль, и он проверяется LDAP, а затем у меня есть пользовательский поставщик ролей, который гарантирует, что у пользователя есть доступ к указанной странице.

сказал, в моем web.config у меня есть:

<authentication mode="Forms">
  <forms loginUrl="~/Account.mvc/LogOn" timeout="2880"/>
</authentication>
<authorization>
  <deny users="?"/>
</authorization>
<membership defaultProvider="ADMembershipProvider">
  <providers>
    <add connectionStringName="ADConnString"
         name="ADMembershipProvider"
         type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
         attributeMapUsername="sAMAccountName"
         enableSearchMethods="false"
         applicationName="ProgramName"/>
  </providers>
</membership>
<roleManager enabled="true" defaultProvider="CustomRoleProvider">
  <providers>
    <clear />
    <add name="CustomRoleProvider"
         applicationName="ProgramName"
         type="ProgramName.Providers.CustomRoleProvider"
         attributeMapUsername="sAMAccountName"
         />
  </providers>
</roleManager>

Теперь, если я пытаюсь использовать кнопку языка в форме входа в систему, он вызывает действие, которое недоступно, так как пользователь по-прежнему не LDAP-Authenticated.Мой вопрос:

Могу ли я избежать проверки членства для конкретного действия, как я могу для проверки роли с помощью атрибута [Authorize]?

Я пытался использовать:

  <location path="~/Home.mvc/ChangeCulture">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

И это не работает.Действие ChangeCulture никогда не вызывается.

Этот ответ:

Аутентификация ASP.NET MVC Forms и действия контроллера без проверки подлинности

показывает, как это сделать дляроли, есть идеи для членства + роли?

Спасибо.

...