我正在使用ASP.NET Core应用程序.我正在尝试实现基于令牌的身份验证,但无法弄清楚如何使用新的安全系统.
我的场景: 客户端请求令牌.我的服务器应该授权用户并返回access_token,客户端将在以下请求中使用该access_token.
这里有两篇关于正确实现我需要的文章:
问题是 - 对于我来说,如何在ASP.NET Core中执行相同的操作并不明显.
我的问题是:如何配置ASP.NET Core Web Api应用程序以使用基于令牌的身份验证?我应该追求什么方向?你有没有写过关于最新版本的文章,或者知道我在哪里可以找到它?
谢谢!
c# authentication authorization asp.net-web-api asp.net-core
我在控制器中有一个函数,我是单元测试,期望http请求的标头中的值.我无法初始化HttpContext,因为它只是readonly.
我的控制器函数需要"device-id"的http请求标头值
[TestMethod]
public void TestValuesController()
{
ValuesController controller = new ValuesController();
//not valid controller.HttpContext is readonly
//controller.HttpContext = new DefaultHttpContext();
var result = controller.Get();
Assert.AreEqual(result.Count(), 2);
}
Run Code Online (Sandbox Code Playgroud)
没有使用第三方库,有没有直接的方法来做到这一点?
是否可以IOptions<AppSettings>从ConfigureServicesStartup中的方法解析实例?通常,您可以使用IServiceProvider初始化实例,但在注册服务时此阶段没有实例.
public void ConfigureServices(IServiceCollection services)
{
services.Configure<AppSettings>(
configuration.GetConfigurationSection(nameof(AppSettings)));
// How can I resolve IOptions<AppSettings> here?
}
Run Code Online (Sandbox Code Playgroud) 每次我尝试安装DotNetCore.1.0.0-VS2015Tools.Preview2.exe包时都会收到错误消息,说明如下:
安装失败一个或多个问题导致安装失败.请修复问题,然后重试设置.有关更多信息,请参阅日志文件.安装程序检测到可能未完全安装Visual Studio 2015 Update 3.请修复Visual Studio 2015 Update 3,然后重新安装此产品.
当我查看日志文件时,我发现以下行似乎在安装过程中导致错误:
条件"WixBundleInstalled OR NOT(((VS2015CommunityUpdateVersion <> VS2015UpdateVersion)AND(VS2015CommunityExists)AND(VS2015UpdateVersionExists))OR((VS2015ProfessionalUpdateVersion <> VS2015UpdateVersion)AND(VS2015ProfessionalExists)AND(VS2015UpdateVersionExists))OR((VS2015EnterpriseUpdateVersion <> VS2015UpdateVersion)AND(VS2015EnterpriseExists )AND(VS2015UpdateVersionExists))OR((VS2015WebExpressUpdateVersion <> VS2015UpdateVersion)AND(VS2015WebExpressExists)AND(VS2015UpdateVersionExists)))OR(SKIP_VSU_CHECK = 1)OR(WixBundleAction = 2)'的计算结果为false.
对Update 3的简单修复尚未解决问题,因此我尝试使用卸载/重新安装更新.经历时
控制面板>程序和功能>查看已安装的更新
要卸载更新,它会直接跳到" Setup Completed"屏幕,说明所有组件都已卸载而没有任何进度屏幕.然后,当我尝试运行Update 3安装程序时,它表示已安装更新.
然后我尝试使用Revo Uninstaller,但在清理文件夹和注册表项后会发生同样的事情.
我甚至试过/uninstall /force在包装上做一个但无济于事.似乎某些东西仍然停留在保持更新注册的地方.
有什么建议?
我正在开发一个需要连接到https站点的项目.每次连接时,我的代码都会抛出异常,因为该站点的证书来自不受信任的站点.有没有办法绕过证书检查.net核心http?
我在以前版本的.NET中看到了这段代码.我想我只需要这样的东西.
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
Run Code Online (Sandbox Code Playgroud) 我刚刚将我们的项目从ASP .Net Core 1.0.0-rc2-final交换到1.0.0.由于JSON属性的大写,我们的网站和客户端已停止工作.例如,这一行JavaScript现在失败了
for (var i = 0; i < collection.Items.length; i++){
Run Code Online (Sandbox Code Playgroud)
因为控制器现在调用数组"items"而不是"Items".除了安装更新的软件包和编辑project.json文件之外,我没有做任何更改.我没有更改仍然大写其属性的C#模型文件.
为什么ASP.Net核心控制器开始返回具有较低属性的JSON?我如何回过头来表达模特中属性名称的情况?
我正在将 ASP.NET Core API 项目从 v5 升级到 v6。
v5中的服务配置:
services.AddSwaggerGen();
Run Code Online (Sandbox Code Playgroud)
v6中的服务配置:
builder.Services.AddEndpointsApiExplorer(); // what is this?
builder.Services.AddSwaggerGen();
Run Code Online (Sandbox Code Playgroud)
什么是AddEndpointsApiExplorer?无论我是否添加,一切都会按预期进行。
我使用“ASP.NET API 版本控制”库。他们有关系吗?如果是这样,我必须同时使用两者,只使用库,还是现在不需要库?
c# swashbuckle asp.net-core aspnet-api-versioning asp.net-core-6.0
我试图在ASP.net核心中使用SQLClient库,但似乎无法使其工作.我发现这篇文章在线建议如何设置,但它不适合我:http://blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/
我有一个简单的控制台应用程序包.我的project.json看起来像这样:
{
"version": "1.0.0-*",
"description": "DBTest Console Application",
"authors": [ "" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"System.Data.Common": "4.0.1-beta-23516",
"System.Data.SqlClient" : "4.0.0-beta-23516"
},
"commands": {
"DBTest": "DBTest"
},
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Console": "4.0.0-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试以下代码:
using System;
using System.Data.SqlClient;
namespace DBTest
{
public class Program
{
public static void …Run Code Online (Sandbox Code Playgroud) 在阅读了asp.net核心middlware后,我很困惑何时应该使用过滤器,何时应该使用中间件,因为它们似乎达到了相同的目标.应该何时使用中间件而不是装配件?
我有点困惑 - 我读过的大多数.NET Core教程都没有提到"dotnet new sln" - 它们总是单独创建项目,没有解决方案文件将它们链接在一起.
是"dotnet new sln"新命令?
我什么时候应该用这个?我从创建sln文件而不是仅仅拥有项目文件中获得了哪些好处?它主要用于在Visual Studio中打开吗?我使用Visual Studio代码用于mac,因此可能不适用.
我用google搜索"dotnet new sln",结果很少.
asp.net-core ×10
c# ×6
.net-core ×3
asp.net-mvc ×3
sqlclient ×1
ssl ×1
swashbuckle ×1
unit-testing ×1