Пользовательский атрибут авторизации

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

В любом случае, сейчас у меня почти все подключено, но я бы хотел использовать настраиваемый атрибут авторизации, который использовал мою инфраструктуру членства. Я проверил эту ветку здесь, на сайте, и я пытаюсь сделать что-то подобное, но я не уверен, что это тихо, что мне нужно. Пока что это классы, которые у меня есть:

SessionManager: правильно?

  • Мне нужна возможность перенаправления неаутентифицированных пользователей для входа в систему страница
  • Мне нужно авторизовать пользователей на основе их роли (используя мою собственную роль провайдер) чтобы я что-нибудь сделал например:

      [SharweAuthorize (Roles = "MyRole")]
    
  • Вот и все ... Любые предложения приветствуются :)

    ОБНОВЛЕНИЕ: Хорошо, я просто перечитал эту страницу еще раз и нашел решение вопроса номер два:

    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        if (SessionManager.CheckSession(SessionKeys.User) == false)
        {
            filterContext.Result = new RedirectToRouteResult(
                            new RouteValueDictionary 
                            {
                                { "action", "ActionName" },
                                { "controller", "ControllerName" }
                            });
        }
        else
            base.HandleUnauthorizedRequest(filterContext);
    }
    

    Дайте мне знать, правильно ли я понял ...

    40
    задан Community 23 May 2017 в 10:31
    поделиться