我想启用或禁用textarea取决于从模型中评估的条件,我正在使用textarea标记帮助器.换句话说,这样的事情:
<textarea asp-for="Doc" @(Model.MustDisable ? "disabled" : "")></textarea>
Run Code Online (Sandbox Code Playgroud)
但是我得到了以下设计时错误:标签帮助器'textarea'在元素的属性声明区域中不能有C#.
然后我尝试了:
<textarea asp-for="Doc" disabled='@(Model.MustDisable ? "disabled" : "")'></textarea>
Run Code Online (Sandbox Code Playgroud)
它没有显示任何设计时错误但它呈现如下:
Model.MustDisable==true渲染disabled='disabled' 和Model.MustDisable==false渲染disabled.因此,文本区域将始终被禁用.
然后我尝试(删除's):
textarea asp-for="Doc" disabled=@(Model.MustDisable ? "disabled" : "")></textarea>
Run Code Online (Sandbox Code Playgroud)
它没有显示任何设计时间错误,但它呈现与前一个相同.
我怎样才能以正确的方式实施?
我希望我的Identity Server 4服务器"MyAdditionalService"为某些已注册的客户端提供附加服务(例如)。他们将通过要在服务器上定义的自定义端点来使用该服务。
我正在考虑为该服务定义一个API(例如,名为“ myAdditionalService”),以便可以根据客户端的配置将对此类服务的访问权限授予客户端。但是,我不确定如何限制对端点的访问(MVC-Action方法),该端点仅允许被允许使用API的客户端(可能代表用户)。
我发现自己可以:
services.AddAuthorization(options =>
{
options.AddPolicy("MyAdditionalServicePolicy",
policy => policy.RequireClaim("scope",
"myAdditionalService"));
});
Run Code Online (Sandbox Code Playgroud)
并使用该属性[Authorize("MyAdditionalServicePolicy")]来装饰用于访问此类服务的操作方法。但是,我不知道服务器是否可以同时成为API,或者即使可能也可以。
我该如何实施?令牌服务还扮演着API的角色,这令人困惑,因为它可以保护对操作方法或端点的访问。
谢谢。
更新:
我的Web应用程序是一个IdentityServerWithAspNetIdentity,它已经使用了Asp.net核心身份的身份验证机制。就本例而言,我的Web应用程序向某些注册客户提供的附加服务是用户的Twitter朋友列表(以名为Twitter的控制器为模型,名为ImportFriends的操作),因此api被称为“ TwitterFriends”
根据以下回应的建议,我将Configure()方法修改为具有app.UseJwtBearerAuthentication()。我已经有app.UseIdentity(),app.UseIdentityServer()如下图所示:
app.UseIdentity();
app.UseIdentityServer();
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
AuthenticationScheme = "Bearer",
Authority = Configuration["BaseUrl"],
Audience = "TwitterFriends",
RequireHttpsMetadata = false //TODO: make true, it is false for development only
});
// Add external authentication middleware below. To configure them please see http://go.microsoft.com/fwlink/?LinkID=532715
app.UseGoogleAuthentication(new GoogleOptions
{
AuthenticationScheme = "Google",
SignInScheme …Run Code Online (Sandbox Code Playgroud) 假设我想在一个作为Azure Web作业运行的控制台应用程序中使用依赖注入.这样做我正在重用我在相关Asp.net应用程序上使用的名为"AddATonOfServices()"的自定义服务注册方法.
我的问题是,使用AddScoped()在"AddATonOfServices()"中注册的服务现在如何在控制台应用程序中运行?他们表现得像Transient或Singleton,或者如何?会有任何意想不到的行为吗?
谢谢.