MvcSiteMapProvider для отображения узлов на "не авторизованных" - PullRequest
0 голосов
/ 09 ноября 2011

Другая, надеюсь, довольно тривиальная проблема mvcSiteMap:

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

В качестве альтернативы, есть ли атрибут фильтра для действия asp.net mvc, который выражает «не авторизовано»?

Ура, Duffy

1 Ответ

0 голосов
/ 18 января 2012

Создание атрибута GuestOnly, вероятно, то, что вы хотите.Это работает для меня:

using System.Web.Mvc;
using System.Web;

namespace Wingspan.Web.Mvc.Attributes
{
    public class GuestOnlyAttribute : AuthorizeAttribute
    {    
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            return !base.AuthorizeCore(httpContext);
        }
    }
}
...