小编Dan*_*iel的帖子

在首次加载之前通过授权服务器保护SPA

我正在使用dotnet core 2.1中的角度SPA应用程序的"新"项目模板,如文章中所述使用Angular项目模板和ASP.NET Core.

但是这篇文章没有提到保护SPA本身的任何内容.我找到的所有信息都是关于保护WEBAPI,但首先我对保护SPA感兴趣.

这意味着:当我打开我的SPA时,例如https:// localhost:44329 /我希望立即重定向到授权服务器,而不是单击某个将执行身份验证的按钮.

背景:

  • 我必须确保只有经过身份验证的用户才能看到SPA.
  • 我想使用授权代码授权从我的授权服务器获取刷新令牌.
  • 我不能使用隐式授权,因为刷新令牌不能在浏览器上保持私有

当前的方法是实施需要经过身份验证的用户的MVC策略.但这只能应用于MVC控制器.这就是我添加HomeController以满足第一个请求的原因.

见项目结构:

在此输入图像描述

我的Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(options =>
        {
            options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = "CustomScheme";
        })
        .AddCookie()
        .AddOAuth("CustomScheme", options =>
        {
            // Removed for brevity
        });

    services.AddMvc(config =>
    {
        // Require a authenticated user
        var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
        config.Filters.Add(new AuthorizeFilter(policy));
    });

    // In production, the …
Run Code Online (Sandbox Code Playgroud)

c# .net-core asp.net-core angular

20
推荐指数
3
解决办法
4395
查看次数

Twitter Bootstrap中的搜索框

我有这个搜索框:

在此输入图像描述

搜索框的代码是:

<form method = "post" action="search.php" class = "pull-down  navbar-search">
    <div class="input-append">
        <input class="search-query input-medium"  name="search_query" type="text" placeholder="Arama Yap" >
        <button type = "submit "class="btn btn-large" type="button"><i class="icon-search"></i></button>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

我希望搜索框在框和按钮之间没有空格.我怎么能完成它?谢谢.

search-box twitter-bootstrap

12
推荐指数
1
解决办法
6万
查看次数

RadiobuttonFor用于Mvc Razor语法

我有三个单选按钮,我的字段值类型是整数,如Maintenance for 3,Active for 1和Inactive for 2.

@Html.RadioButtonFor(model => model.StatusId, "3") Maintenance
@if (Model.IsReady == true)
{
    <span> @Html.RadioButtonFor(model => model.StatusId,"1") Active</span>
}
@Html.RadioButtonFor(model => model.StatusId, "2") Inactive
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码,然后正确插入数据,但当我的表单在编辑模式下打开,然后我没有选择任何单选按钮.

我也使用下面的代码,但没有成功.

@Html.RadioButtonFor(model => model.StatusId, "3", Model.StatusId == '3' ? new {Checked = "checked"} : null) Maintenance
@if (Model.IsReady == true)
{
    <span> @Html.RadioButtonFor(model => model.StatusId, "1",Model.StatusId == '1' ? new {Checked = "checked"} : null) Active</span>
}
@Html.RadioButtonFor(model => model.StatusId, "2",Model.StatusId == '2' ? new {Checked = "checked"} : …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc-4

12
推荐指数
1
解决办法
3万
查看次数

Microsoft.Extensions.Caching.Redis选择与db0不同的数据库

关于理解使用哪个redis数据库以及如何配置它的问题.

我有一个默认的ASP.NET核心Web应用程序和一个默认配置的本地redis-server(包含15个数据库)

在此输入图像描述

在包管理控制台上我安装了:

Install-Package Microsoft.Extensions.Caching.Redis
Run Code Online (Sandbox Code Playgroud)

Redis在Startup.cs中配置如下:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    services.AddDistributedRedisCache(option =>
    {
        option.Configuration = "127.0.0.1";
        option.InstanceName = "master";
    });
}
Run Code Online (Sandbox Code Playgroud)

读取和写入缓存中的值的代码取自文档:

var cacheKey = "TheTime";
var existingTime = _distributedCache.GetString(cacheKey);
if (!string.IsNullOrEmpty(existingTime))
{
    return "Fetched from cache : " + existingTime;
}
else
{
    existingTime = DateTime.UtcNow.ToString();
    _distributedCache.SetString(cacheKey, existingTime);
    return "Added to cache : " + existingTime;
}
Run Code Online (Sandbox Code Playgroud)

但是这个代码只使用默认数据库db0,无论我配置什么.

例如,使用此配置:

services.AddDistributedRedisCache(option =>
{
    option.Configuration = "127.0.0.1";
    option.InstanceName = "db6";
}); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net caching redis

9
推荐指数
1
解决办法
2208
查看次数

如果配置了部署表单源控件,则无法从门户添加WebJob

今天,我们在Azure门户中遇到了以下消息

如果配置了部署表单源控件,则无法从门户网站添加WebJob。

错误的Azure门户

我们假定这是一个功能,因此拼写不正确:“部署表单源代码控制”应为“ 来自源代码控制的部署”。

我不知道在哪里设置可以解决此问题的设置。

它必须在我们假设的DevOps中。

deployment azure azure-web-app-service azure-devops

8
推荐指数
2
解决办法
1937
查看次数

Visual Studio 2015 - devenv.exe - 未知的硬错误

当我打开一个项目时,它失败了

在此输入图像描述

有人有解决方案吗?

我试过这些步骤:

  1. 重启电脑
  2. 重新启动Visual Studio
  3. 以安全模式启动Visual Studio并重置所有窗口
  4. 删除我的完整项目文件夹并从源代码管理重新打开解决方案没有帮助
  5. 创建新项目有效

观察:

  • Visual Studio无需加载项目即可正常启动.

visual-studio-2015

7
推荐指数
1
解决办法
6313
查看次数

如何在不上传的情况下测试Visual Studio Team Services(vsts)扩展

我想开发一个vsts扩展。

开发周期的描述过程是:

  1. 开发
  2. 发布
  3. 上载
  4. 测试

这对我来说有点麻烦,因为它需要大量时间来测试开发。

有什么办法可以加快开发周期?

有什么方法可以模拟TFS?

azure-devops azure-devops-extensions

7
推荐指数
2
解决办法
1083
查看次数

HMR正在追加而不是替换

这是我对页面的初始加载:

在此输入图像描述

在改变一些文本后,HMR会被激活,但是附加 DOM而不是替换它:

在此输入图像描述

有没有人知道什么可能导致这个问题?控制台上没有错误.

更新:

我在命令行中使用了带有角度模板的ASP.NET Core.此模板使用bootstrapjquery.我想删除这两个组件,因此我想使用材料

webpack material-design webpack-hmr angular

7
推荐指数
1
解决办法
269
查看次数

TFS 2018将工作项与提交无关拉请求关联

我们在本地TFS 2018 RC2 RTW 中使用git

当我们检查我们的代码时,我们通过添加哈希和数字来协助工作项,例如#8635

在此输入图像描述

文档中写道,这应该与pull-requests一起使用.但在我们的例子中,我们并不需要拉取请求.

是否可以在没有拉取请求的情况下将提交与工作项链接?

有关:

更新:

我刚刚在同一团队项目的不同git项目上测试了这个.

猜猜看:它按预期工作.奇怪的是,这个git项目需要有些东西......

在此输入图像描述

git tfs azure-devops

7
推荐指数
1
解决办法
1385
查看次数

我希望这个<p>标签到达图像的底部?

我对这个html/css完全不熟悉我试图将带有背景的文本浮动为图像.是的我做了但是问题是文本浮动在图像上.如果使用margin-top来调整图像,它只是简单地拉下整个div.Here down我给了我想要的图形表示.

在此输入图像描述

HTML

<div class="maincon">
    <div class="picon" style="background-image: linear-gradient(to bottom, rgba(0, 0, 0, .02), rgba(0, 0, 0, .8)), url('img/apple.jpg') "><p>Hi</p> 
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.maincon {
    margin-top: 95px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    height: 100%;
}

.picon {
    width: 100%;
    height: 80%;
    background: none center/cover #f2f2f2;
}

.picon p {

}
Run Code Online (Sandbox Code Playgroud)

html css

6
推荐指数
2
解决办法
102
查看次数