我正在使用ASP.NET Core和一个自定义IClaimsTransformer
,该Configure
在我的Startup
课程ClaimsTransformationMiddleware
期间注册UseClaimsTransformation
。我的印象是,在用户首次登录时添加并可能会转换声明(类似于我在Google身份验证中间件中看到的声明)。
我在GitHub上找到ClaimsTransformationMiddleware调用已通过DateTime.Now.Millisecond.ToString()
注册的自定义声明转换器。
如果没有注销,我可以更改索赔的值,例如,硬编码索赔值并重新编译应用程序。换句话说,声明在以下时间更新:
此外,如果我将变换中的声明值更改为ClaimsTranformationOptions
,则会在每个页面请求上更改该值,而不重新编译应用程序。
这似乎推断自定义转换发生在每个请求上,而不是登录。这是正确的吗?
有没有办法以只在登录时发生的方式注册转换? public class GetActivity
{
ChildClass childclass;
@Inject
public GetActivity(ChildClass childClass)
{
this.childClass = childclass;
}
String id = childClass.get(id);
....
}
public class SaveActivity
{
ChildClass childclass;
@Inject
public SaveActivity(ChildClass childClass)
{
this.childClass = childclass;
}
childClass.save(id);
....
}
中没有其他选项。