2013-07-03 4 views
2

Мне нужно разрешить действие контроллера для любого пользователя без входа.Разрешить анонимный доступ к действию контроллера

public class ItemController : Controller 
    { 
     public ActionResult WebGallery() 
     { 
      //code goes here 
      return View("WebGallery"); 
     } 
} 

Я пробовал приведенный ниже код в своем web.config, но все же перенаправлялся на страницу входа.

<location path="~/Item/WebGallery"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 

Я использую проверку подлинности форм, но не использует базовую аутентификацию роли, так что я не могу использовать [Authorize]

+0

Используйте [AllowAnonymous] выше своего класса контроллера – Krish

ответ

3

Изменение атрибута пути местоположения работало для меня.

<location path="Item/WebGallery"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
-1

Правила авторизации, позволяющее «*» охватывает только зарегистрированные пользователей. Для анонимных пользователей используйте '?' вместо:

<location path="~/Item/WebGallery"> 
    <system.web> 
     <authorization> 
      <allow users="?" /> 
     </authorization> 
    </system.web> 
</location> 

Дополнительная информация о правилах авторизации ASP.NET можно найти более на MSDN.

+0

Не working.still идет к странице входа – chamara

+0

Есть ли у вас какие-либо другие правила, которые могут быть совпавшие, что может быть более высокий приоритет? –

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