asp.net-core - 使用 AbpMvcAuthorize 自定义身份验证方案
问题描述
我无法让AbpMvcAuthorize
属性在我的特殊情况下工作。
我有一些自定义身份验证机制(带有 custom AuthenticationScheme
),可以登录我的用户。为此,我实现了 aAuthenticationHandler<MyCustomAuthenticationOptions>
并覆盖了该方法,并将其从 Module-zeroHandleAuthenticateAsync
注册到方法中:AuthConfigurer.Configure
services.AddAuthentication(o => o.AddScheme("amx", b => b.HandlerType = typeof (MyCustomAuthenticationHandler)));
现在,如果我有这个:
[Authorize(AuthenticationSchemes = "amx")]
public string GetTest()
{
return "OK";
}
并使用我的特殊 amx 标头发出请求,它正在工作,我只能在指定它时访问该方法。
如果我正在做同样的事情:
[AbpMvcAuthorize(AuthenticationSchemes = "amx")]
public string GetTest()
{
return "OK";
}
它不再工作了,我有一个 401 Unauthorized 结果,在调试模式下,我从不输入我的 custom AuthenticationHandler
。似乎该AbpMvcAuthorize
属性是在我的自定义之前执行的AuthenticationHandler
,或者它没有读取该AuthenticationScheme
属性?
知道我做错了什么吗?
谢谢
解决方案
我在他们的 Github 上问过:https ://github.com/aspnetboilerplate/aspnetboilerplate/issues/3778
并被告知这是不可能的,因为AbpMvcAuthorize
不读取AuthenticationScheme
属性。我会尝试用一些策略来实现它
推荐阅读
- java - 如何将 System.out.println() 放入变量中
- elasticsearch - elasticsearch,在字段中找到确切的短语
- python - 创建笛卡尔积的最快方法,在对内没有重复元素
- javascript - 如何从 Iframe 内部调用 html 点击事件的服务器端函数?
- java - 无法模拟 Android IONIC CORDOVA
- java - JooQ 中的 DuplicateKeyException
- java - Sqlite 游标不返回数据
- python - 将主题分布(主题模型的结果)添加到熊猫数据框
- alfresco - Alfresco 通过 ftp 导出文件
- reactjs - 我可以在 React 应用程序中使某个函数全局可用吗?