我得到了要求用户经过身份验证的操作。
OnRedirectToLogin
现在,我为登录会话的用户设置了超时时间,但是从上面的操作视图开始。它将用户重定向到我的应用程序中不存在的页面。
因此,我找到了事件:context
,但是我无法从事件Index
中找到与用户来自的动作services.AddAuthentication("Cookies")
.AddCookie(options =>
{
options.Cookie.Name = "Cookies";
options.ExpireTimeSpan = TimeSpan.FromMinutes(1);
options.Events = new CookieAuthenticationEvents
{
OnRedirectToLogin = (context) =>
{
return Task.CompletedTask;
}
};
})
相关的任何内容,因此我可以决定将用户重定向到何处。
returnUrl
登录到期后,是否可以将动作Index
中的OnRedirectToLogin
存储/发送到<form asp-action="">
@Html.HiddenFor(c => c.ReturnUrl)
....
<div class="button-section">
<button name="button" value="no" type="submit">Cancel</button>
<button name="button" value="yes" type="submit">Ok</button>
</div>
</form>
?
已更新视图:
In file included from subdivision/doosabin/doosabin_pyx.h:12:0,
from subdivision/doosabin/doosabin_.cpp:615:
cpp/doosabin/include/doosabin.h:20:10: fatal error: Eigen/Dense: No such file or directory
#include "Eigen/Dense"
^~~~~~~~~~~~~
答案 0 :(得分:2)
您可以在RedirectContext中访问请求和查询参数。在那里,您可以读取returnUrl参数并执行重定向。
options.Events = new CookieAuthenticationEvents
{
OnRedirectToLogin = context =>
{
var returnUrl = context.Request.Query["returnUrl"];
context.Response.Redirect(returnUrl);
return Task.CompletedTask;
}
}