2
dbcontextにアクセスして、カスタムポリシーベース認証でテーブルデータとセッションを取得することは可能でしょうか?誰でもそれを達成する方法を助けることができますか?カスタムポリシーベースの認証でdbcontext&sessionにアクセスする方法
services.AddAuthorization(options =>
{
options.AddPolicy("CheckAuthorize",
policy => policy.Requirements.Add(new CheckAuthorize()));
});
services.AddSingleton<IAuthorizationHandler, CheckAuthorize>();
public class CheckAuthorize : AuthorizationHandler<CheckAuthorize>, IAuthorizationRequirement
{
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, CheckAuthorize requirement)
{
if() //check session to verify user is logged in or not
{
//redirect to login page
}
else
{
if()//access dbcontext get data from database table to validate user access
{
//redirect to access denied page
}
}
throw new NotImplementedException();
}
}
お返事ありがとうございます。私はそれをベースにURコードを試します。セッションの値を取得してリダイレクトするのはどうですか? – WolfPack
これはすべて文書化されています。セッションはDIサービス、ISessionでもあります。私はリダイレクトの意味を理解していません。 – blowdart
oh dbcontextとSessionの両方がDIサービスです。リダイレクトは、ユーザーのアクセス検証が偽であれば、ユーザーをログインページにし、アクセス拒否ページを表示することを意味します。 – WolfPack