基于Shaun Luttin在/sf/answers/2160026711/上的一个很好的例子,我能够使用该代码生成和使用承载令牌.微小的变化是获得最新的包:
"dependencies": {
"Microsoft.AspNet.Authentication.JwtBearer": "1.0.0-rc1-final",
"AspNet.Security.OpenIdConnect.Server": "1.0.0-beta4"
}
Run Code Online (Sandbox Code Playgroud)
虽然代码是一个很好的开始,但它并不是一个完全集成w/ASP.NET身份的完整解决方案.我修改了AuthorizationProvider类,如下所示:
public override Task GrantResourceOwnerCredentials(
GrantResourceOwnerCredentialsContext context)
{
var user = _userManager.FindByNameAsync(context.UserName).Result;
if (user == null)
{
context.Rejected("The user name or password is incorrect.");
}
else
{
var signInManager = context.HttpContext.RequestServices
.GetRequiredService<SignInManager<ApplicationUser>>();
if (signInManager.CanSignInAsync(user).Result &&
_userManager.CheckPasswordAsync(user, context.Password).Result)
{
var principal = signInManager.CreateUserPrincipalAsync(user).Result;
//To avoid leaking confidential data, AspNet.Security.OpenIdConnect.Server
//refuses to serialize the claims that don't explicitly specify a destination.
foreach (var claim in principal.Claims)
claim.WithDestination("token id_token");
context.Validated(principal);
}
else …Run Code Online (Sandbox Code Playgroud) bearer-token openid-connect asp.net-identity-3 aspnet-contrib asp.net-core
当前,当我运行我的项目时,它将执行我设置的构建后命令。但是,仅当项目进行了更改时,这才是正确的。我的最终目标是在每次构建项目时都运行我的项目。但是,我注意到的是,如果要按角度更改HTML文件,则该项目不会检测到任何更改,因此不会再次生成,因此不会运行ng build命令。
有没有办法强迫它始终运行生成后命令,或者即使没有检测到更改也可以使其始终重建?也许还有另一种方法可以做到这一点?
这是一个.NET Core WebApp,运行我的构建后事件的代码位于我的.csproj文件中
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="echo Building Angular App..." />
<Exec Command="cd ClientApp && ng build" />
</Target>
Run Code Online (Sandbox Code Playgroud) 我有一个使用 Razor Pages 的 .Net Core 应用程序。在页面下,我有两个顶级文件夹 - Prescriptions 和 Admin。在 Prescriptions 文件夹下,我有一些搭建的 CRUD 页面 - 即创建、索引、编辑和删除。当我输入地址https://localhost:44344/Prescriptions时,程序会转到 Prescriptions 文件夹中的索引页面 - 工作正常。
在 Admin 文件夹下,我有一个名为 Client 的页面,其中有一个锚标记:
<a asp-page="./Prescriptions/Index"Add Prescription</a>
Run Code Online (Sandbox Code Playgroud)
我正在尝试导航到页面https://localhost:44344/Prescriptions。
我已经尝试过这个标签的一百个不同版本,包括:
<a asp-page="Prescriptions"Add Prescription</a>
<a asp-page="/Prescriptions"Add Prescription</a>
Run Code Online (Sandbox Code Playgroud)
等等,但我无法让它工作。将 href 与相对路径一起使用效果不佳 - 例如 href="/Prescriptions"。我缺少什么?