小编Alo*_*wal的帖子

如何使用身份 2.0 使用授权属性在操作中添加多个策略?

我是身份 2.1.2 和 asp.net core 2.0,我有应用程序声明表,其中包含声明类型和声明值,即资产、资产编辑、资产、资产视图,其中声明类型与不同的声明值相同,我正在创建策略使用对我来说工作正常的声明类型名称不知道如何在一个操作中添加多个策略。下面的代码在启动文件中用于创建策略。

services.AddAuthorization(options =>
{
   var dbContext = SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder<MyDBContext>(),
      Configuration.GetConnectionString("TestIdentityClaimAuth")).Options;

   var dbCon = new MyDBContext(dbContext);
   //Getting the list of application claims.
   var applicationClaims = dbCon.ApplicationClaims.ToList();
   var strClaimValues = string.Empty;
   List<ClaimVM> lstClaimTypeVM = new List<ClaimVM>();
   IEnumerable<string> lstClaimValueVM = null;// new IEnumerable<string>();

   lstClaimTypeVM = (from dbAppClaim
         in dbCon.ApplicationClaims
      select new ClaimVM
      {
         ClaimType = dbAppClaim.ClaimType
      }).Distinct().ToList();

   foreach (ClaimVM objClaimType in lstClaimTypeVM)
   {
      lstClaimValueVM = (from dbClaimValues in dbCon.ApplicationClaims
         where dbClaimValues.ClaimType == objClaimType.ClaimType
         select dbClaimValues.ClaimValue).ToList();

      options.AddPolicy(objClaimType.ClaimType, policy => …
Run Code Online (Sandbox Code Playgroud)

c# claims-based-identity asp.net-core

9
推荐指数
2
解决办法
9886
查看次数

标签 统计

asp.net-core ×1

c# ×1

claims-based-identity ×1