Как пройти аутентификацию для указанных пользователей только в asp.net mvc - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть метод в контроллере, скажем,

    public async Task<IActionResult> Index()
    {
        return View();
    }

И у меня есть пользователь email_list

    example-one@gmail.com,example-two@gmail.com,example-three@gmail.com

Что я хочу сделать, это когда пользователь перенаправляет на индекс (), если электронная почта пользователя включена в мой email_list, я хочу предоставить доступ к этой странице, а если нет, я не дам доступа.
Как я могу добиться этого, проверяя электронную почту текущего пользователя внутри этого метода ???

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете создать AuthorizeAttribute для ActionResult, и из данных сеанса пользователя входа в систему можно проверить, содержит ли список сообщений электронной почты имя пользователя для входа или нет.

вам необходимо создать метод переопределения, как указано ниже.

    public override void OnAuthorization(AuthorizationContext filterContext)
    {
var request = filterContext.HttpContext.Request;
                if (filterContext == null) { throw new ArgumentNullException("filterContext"); }

// Add Email checking code here

base.OnAuthorization(filterContext);
}
...