【发布时间】:2020-04-24 10:12:03
【问题描述】:
我收到的文档提到验证安全令牌是一个内部函数。还表示它不会暴露给 Web 服务用户的外部消费。能否请您告诉我有关此要求以及如何实现 web 方法的想法?
【问题讨论】:
标签: c# asp.net-core-webapi webapi
我收到的文档提到验证安全令牌是一个内部函数。还表示它不会暴露给 Web 服务用户的外部消费。能否请您告诉我有关此要求以及如何实现 web 方法的想法?
【问题讨论】:
标签: c# asp.net-core-webapi webapi
internal是c#中的访问修饰符,你可以使用internal来写一个方法。这样就不会暴露在外面了,
internal bool ValidateToken()
{
//Your business logic
}
internal:该类型或成员可以被同一个中的任何代码访问 程序集,但不是来自另一个程序集。
【讨论】:
使用 CORS 属性来装饰您希望对给定域可访问的特定方法。在您的 appsettings 中将该域配置为策略。
[EnableCors("restricted-domain-policy")]
public Task<IActionResult> PostUserReport()
{
// your internal/domain specific
}
也有相反的方式,比如使用
[DisableCors("external-domain-policy")]
您可以在 startup.cs 中配置为两个不同的策略设置。
services.AddCors(feature => {
feature.AddPolicy(
"restricted-domain-policy",
builder => builder
.SetIsOriginAllowed((host) => true)
.AllowAnyHeader()
.AllowAnyMethod()
.AllowAnyOrigin()
.AllowCredentials()
);
});
services.AddCors(feature => {
feature.AddPolicy(
"external-domain-policy",
builder => builder
.SetIsOriginAllowed((host) => true)
.WithHeaders()
.WithMethods(<your method array>)
);
});
您可以在任一策略中探索 WithHeaders()、WithOrigin() 等以进行相应配置。
【讨论】: