小编Mei*_*els的帖子

通过使用JWT令牌在Web API上声明角色授权-Asp.net核心标识

过去几天我一直在学习Asp.Net Identity,例如,我熟悉使用或授权控制器[Authorize(Roles = "Admin")][Authorize(Policy = "OnlyAdminAndModerators")]

我正在使用JWT令牌,通过“ [[Authorize(Roles =“ Admin”)]]”进行授权时,我要做的就是在令牌上设置角色类型,如下所示:

{  
  "nameid": "a173e923-1808-4d7d-2b64-08d684882677",  
  "unique_name": "yuri",  
  "role": [  
    "Admin",  
    "Moderator"  
  ],  
  "nbf": 1549522727,  
  "exp": 1549609127,  
  "iat": 1549522727  
}  
Run Code Online (Sandbox Code Playgroud)

这样,我的控制器就可以通过上的“角色”名称json和“ Admin ” 的值进行身份验证。

我所听到的是可以在Identity AspNetRole表上创建一个角色,通过AspNetRoleClaims表将一个声明与该角色相关联,例如,Admin将具有“ CanAdd”声明,然后在Startup类上创建一个一条政策说类似 options.AddPolicy("Add Role", policy => policy.RequireClaim("CanAdd", "AddClaim"));

最后,我可以继续使用我的控制器,使用设置方法,[Authorize(Policy = "Add Role")]控制器将授权任何具有Admin角色的用户,因为他可以拥有CanAdd声明。

抱歉,我知道这是一个大问题,但我真的很想完成这项工作。
提前致谢。

c# jwt asp.net-identity asp.net-core

6
推荐指数
1
解决办法
1119
查看次数

你什么时候弹出一个 reactjs 应用程序

我已经构建了一个 reactJS 应用程序 npx create-react-app。

目前我已经退出了该应用程序,因为我需要使用 copy webpack 插件。为此,我需要访问配置文件。

问题是,

  • 弹出应用程序是一个好习惯吗?
  • 会不会因此有任何问题?
  • 你在什么情况下运行“npm run eject”

reactjs

6
推荐指数
1
解决办法
586
查看次数

如何从 Kubernetes 中的 ConfigMap 填充图像值?

我想在 kubernetes 配置中写入 docker 映像名称,然后在我的部署文件中使用它,而不是直接对其进行硬编码。所以而不是:

image: "nginx:latest

我想做以下事情:

image:
 valueFrom:
  configMapKeyRef:
   name: docker-config
   key: docker-image
Run Code Online (Sandbox Code Playgroud)

怎样才能做到或有其他替代方案?谢谢。

kubernetes

6
推荐指数
2
解决办法
6816
查看次数

STM32F3发现 - 实现GPIO中断

我想实现一个GPIO中断,但我不知道如何,我也没有找到真正的样本或解释.

我已经知道如何写Pins,但不多,请考虑我真的没有任何关于c或编程微控制器的知识.

一个简单的例子或解释将帮助我很多.以下代码是我已经拥有的,但我不确定这是否正确.

GPIO_InitTypeDef   GPIO_InitStructure;
GPIO_InitStructure.Pin = GPIO_PIN_2;
GPIO_InitStructure.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStructure.Pull = GPIO_PULLUP;
GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;

HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET);
Run Code Online (Sandbox Code Playgroud)

c microcontroller arm interrupt stm32

5
推荐指数
1
解决办法
5953
查看次数

如何长时间维持Appium会话

我需要在测试中间等待5分钟,但Appium会话的默认newCommandTimeout为60s。并且在下一个命令我的会话超时的指令中出现异常。

AndroidDriver appiumDriver = new AndroidDriver(new URL(getMcmUrl()), capabilities);
Thread.sleep(5*60*1000); // 5 minutes sleep time
appiumDriver.executeScript("...")
Run Code Online (Sandbox Code Playgroud)

webdriver appium appium-ios appium-android appium-desktop

4
推荐指数
2
解决办法
1345
查看次数