2

リファレンス:
ASP.NET Core MVC と Visual Studio を使用して初めての Web API を構築する

シナリオ:
(a) .NET Core 1.0 Web API ソリューションは、上記のリンクを使用して構築されました。
(b) そのソリューションはデバッグ モードで実行されました。
(c) ユーザーが登録された
(d) そのユーザーがログオンした
(e) 何時間も経った後も、そのユーザーはまだログオンしている

引き続き同じデバッグ セッションで、次のコードが実行されます。

@using Microsoft.AspNetCore.Identity

@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager

@if (SignInManager.IsSignedIn(User))
{
    <form asp-area="" asp-controller="Account" asp-action="LogOff" method="post" id="logoutForm" class="navbar-right">
        <ul class="nav navbar-nav navbar-right">
            <li>
                <a asp-area="" asp-controller="Manage" asp-action="Index" title="Manage">Hello @UserManager.GetUserName(User)!</a>
            </li>
            <li>
                <button type="submit" class="btn btn-link navbar-btn navbar-link">Log off</button>
            </li>
        </ul>
    </form>
}

上記のユーザーのログオンがタイムアウトになるという期待は満たされませんでした。ただし、Hello *example user*!再びLog offnavbar にレンダリングされます。をクリックすると、サンプル ユーザーLog offがログオフされます。

では、ASP.NET Core Identity で有効期限を設定して、(a) ログオンしているユーザー
を 8 時間などの一定期間後にログオフできるようにする方法、
(b) ログオンしているユーザーを一定時間後にログオフできるようにする方法を教えてください。 30 分のような非アクティブな期間?

4

1 に答える 1

7

質問に答えるには:

Q: ログオンしているユーザーは、8 時間などの一定の時間が経過するとログオフできます
。 A: ExpireTimeSpanCookie のオプションを 8 時間に設定します。

Q: ログオンしているユーザーは、30 分間など一定時間操作がないとログオフできますか?
A:ExpireTimeSpanを 30 分に設定SlidingExpirationし、 に設定しTrueます。

https://docs.asp.net/en/latest/security/authentication/cookie.html#adding-and-configuringおよび https://docs.asp.net/en/latest/security/authentication/cookie.htmlをお読みください詳細については、 #controlling-cookie-optionsをご覧ください。

于 2016-09-03T17:27:54.177 に答える