Лучший способ перенаправить пользователя на страницу входа в кэш потерян - PullRequest
0 голосов
/ 16 октября 2018

Каков наилучший способ перенаправить пользователя на вход в систему, когда кэш потерян?В данный момент я делаю это:

if (Session["Id"] == null)
{
    return RedirectToAction("Login", "Home");
}

Но с помощью этого метода он помещает этот код в каждую функцию, есть ли другой способ сделать это во всей программе?Я попытался выполнить поиск по web.config, но безрезультатно.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Если вы используете аутентификацию на основе форм и разрешаете доступ только авторизованным пользователям, то этого можно достичь путем внесения изменений в web.config

<authentication mode="Forms">
      <forms loginUrl="login.aspx" defaultUrl="default.aspx" name=".YourApplication" timeout="60" cookieless="AutoDetect" />
</authentication>

<authorization>
      <deny users="?" />
</authorization>

свойство loginUrl сообщает серверу, куда направлять пользователяесли он не вошел в систему, а свойство defaultUrl сообщает серверу, куда направить его после того, как пользователь вошел в систему.

the deny users = "?"говорит серверу запретить любому пользователю, который не аутентифицирован, и направляет его на страницу loginUrl

. В коде страницы входа в систему вам нужно что-то вроде этого после проверки введенных учетных данных:

FormsAuthentication.RedirectFromLoginPage(userName.Text, True)

1012 * Ссылка *

0 голосов
/ 17 октября 2018
private const string GlobalAuthKey = "GlobalAuthTime";

Вы можете вставить всю информацию о пользователе аутентификации в authList.

HttpRuntime.Cache.Insert(GlobalAuthKey, authList);

Затем получить кеш:

var authList = HttpRuntime.Cache.Get(GlobalAuthKey) as List<AuthInfo> ?? new 
 List<AuthInfo>();

После этого вы проверяете эту конкретную информацию для входа пользователя, и выВынудите своего пользователя этим условием желания. Надеюсь, Вы понимаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...