小编Mar*_*k G的帖子

具有ASP.NET身份3的JWT承载令牌

基于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

5
推荐指数
1
解决办法
1103
查看次数

始终在Visual Studio 2017中运行生成后事件命令

当前,当我运行我的项目时,它将执行我设置的构建后命令。但是,仅当项目进行了更改时,这才是正确的。我的最终目标是在每次构建项目时都运行我的项目。但是,我注意到的是,如果要按角度更改HTML文件,则该项目不会检测到任何更改,因此不会再次生成,因此不会运行ng build命令。

有没有办法强迫它始终运行生成后命令,或者即使没有检测到更改也可以使其始终重建?也许还有另一种方法可以做到这一点?

这是一个.NET Core WebApp,运行我的构建后事件的代码位于我的.csproj文件中

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command="echo Building Angular App..." />
    <Exec Command="cd ClientApp &amp;&amp; ng build" />
</Target>
Run Code Online (Sandbox Code Playgroud)

msbuild visual-studio visual-studio-2017

4
推荐指数
3
解决办法
1703
查看次数

导航到 .Net Core 中另一个文件夹中的页面

我有一个使用 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"。我缺少什么?

navigation razor asp.net-core razor-pages

2
推荐指数
1
解决办法
4703
查看次数