我已经这样配置我的服务:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(a =>
{
a.CheckConsentNeeded = context => true;
a.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(a => a.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "blopp",
ValidAudience = "snopp",
IssuerSigningKey = new SymmetricSecurityKey(
Encoding.UTF8.GetBytes("SecurityKeyOfProperLength"))
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
应用程序配置包含以下内容。
...
app.UseStatusCodePagesWithRedirects("/sec/login");
app.UseMvcWithDefaultRoute();
在该方法中,我生成一个视图,该视图在提交后将以这种方式重定向到post方法:
<h2>Login</h2>
<form asp-controller="Sec" asp-action="Examine" method="post">
...
<button type="submit">I accept</button>
</form>
POST方法需要检查条件,然后以某种方式,存储信息和/或发出令牌,以便对安全视图的下一次访问不会使用户返回到登录页面。
我不确定如何实现。
[HttpPost]
public IActionResult Authorize()
{
if(SecurityConditionConfirmed)
DoSomethingSomehow();
return Redirect("/home/index");
}
我该怎么做?