小编Rov*_*ret的帖子

应用程序在添加Oauth时重定向到Account/AccessDenied

我偶然发现了一个问题,即Account/AccessDenied/在向当前登录用户添加社交媒体身份验证时,应用程序会重定向用户.它似乎在用户第一次登录时工作,然后通过尝试添加另一个身份验证方法,它将用户返回到 Account/AccessDenied?ReturnUrl=%2Fmanage%2Flinklogincallback.

我的猜测是[Authorize]属性出了问题,但只是第二次尝试添加外部认证方法.

ManageController

[Authorize]
public class ManageController : Controller
{
    //
    // POST: /Manage/LinkLogin
    [HttpPost]
    [ValidateAntiForgeryToken]
    public IActionResult LinkLogin(string provider)
    {
        // Request a redirect to the external login provider to link a login for the current user
        var redirectUrl = Url.Action("LinkLoginCallback", "Manage");
        var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl, _userManager.GetUserId(User));
        return Challenge(properties, provider);
    }

    //
    // GET: /Manage/LinkLoginCallback
    [HttpGet]
    public async Task<ActionResult> LinkLoginCallback()
    {
        var user = await GetCurrentUserAsync();
        if (user == null)
        {
            return View("Error");
        } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc .net-core asp.net-core

15
推荐指数
3
解决办法
5090
查看次数

在当前目录中找不到'project.json' - .NET Core Webapp调试

我正在尝试使用.NET Core RC2和Visual Studio Code在OSX环境中设置调试.尝试运行调试程序时出现以下错误.

Couldn't find 'project.json' in current directory
Run Code Online (Sandbox Code Playgroud)

目前我已经设置了launch.json(见下文),并在Visual Studio Code中选择了.NET Core Launch(web).由于我的项目位于一个名为Core的文件夹中,并与另外两个文件夹共享空间,因此我的结构如下所示.

结构
- .vscode
------ launch.json
------ tasks.json

- 核心

- Core.Data

- Core.Service

launch.json

{
"version": "0.2.0",
"configurations": [
    {
        "name": ".NET Core Launch (console)",
        "type": "coreclr",
        "request": "launch",
        "preLaunchTask": "build",
        "program": "${workspaceRoot}/Core/bin/Debug/netcoreapp1.0/Core.dll",
        "args": [],
        "cwd": "${workspaceRoot}/Core",
        "stopAtEntry": false
    },
    {
        "name": ".NET Core Launch (web)",
        "type": "coreclr",
        "request": "launch",
        "preLaunchTask": "build",
        "program": "${workspaceRoot}/Core/bin/Debug/netcoreapp1.0/Core.dll",
        "args": [],
        "cwd": "${workspaceRoot}/Core",
        "stopAtEntry": false,
        "launchBrowser": {
            "enabled": true, …
Run Code Online (Sandbox Code Playgroud)

asp.net-core-mvc visual-studio-code asp.net-core

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

EF7迁移 - 实体类型''的相应CLR类型不可实例化

我正在尝试使用EF7迁移,并在使用继承建模组织模型时遇到困难.

组织是一个抽象类,有两个继承它的具体类叫做Individual和Company.

我在DbContext中将组织抽象类设置为DbSet并运行迁移.

我在这里关注本教程

显示以下错误:

实体类型"组织"的相应CLR类型不可实例化,并且模型中没有与具体CLR类型对应的派生实体类型.

我该怎么办?

编辑 - 更新代码

组织

public abstract class Organization
{
    public Organization()
    {
        ChildOrganizations = new HashSet<Organization>();
    }

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public bool Enabled { get; set; }
    public bool PaymentNode { get; set; }
    public DateTime Created { get; set; }
    public DateTime Updated { get; set; }

    // virtual
    public virtual ICollection<Organization> ChildOrganizations { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

个人

public class Individual : Organization …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core asp.net-core

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

无法确定存储版本 - 实体框架

我正在当前解决方案中的单独项目中实现代码优先模式.既然我这样做了,我初始化我的连接字符串,DbContext我得到这个奇怪的错误:

无法确定存储版本; 需要有效的存储连接或版本提示.

我正在使用Entity Framework 5.0.0.0,我的其他解决方案项目工作得很好,因为他们使用EDMX文件进行数据库访问,但只有我的代码第一个项目抛出此异常.它是什么,为什么?

c# entity-framework entity-framework-5

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

需要使用Web应用和Web API进行双重身份验证吗?

我坚持如何解决以下问题.我将首先描述我的应用在一般情况下的外观.

[ASP MVC(Angular App)]

  • 使用Owin cookie

[WEB API 2]

  • 使用Oauth Token Bearer

这种情况正在发生:用户访问应用程序并使用位于ASP MVC应用程序中的登录表单进行身份验证并生成cookie.

现在我决定使用AngularJs添加一些使我使用$ resources和Web API 2的功能.但是,这些功能仅在用户获得授权时可用.

问题所在:现在我必须为Web Api 2的每个请求使用一个令牌来访问控制器中的不同方法.这意味着我必须再次登录用户,但这次是通过AngularJs.使用/ token路由.

我该怎么做?我应该带cookie,检查其中的凭据并将其作为身份验证请求发送?我可以在表单身份验证中以相同的方法在Asp MVC应用程序中执行某些操作吗?

请帮帮我,这给了我很多开销.在30分钟内从一个简单的应用程序走到这个.甚至无法理解身份验证中的所有内容.

问候!

asp.net-mvc asp.net-web-api

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

我不懂参数声明

我有这个赋值声明这样的方法......

public List<Contact> GetLastContacts([int count = 20])  
{  
    return this._entities.ContactsSet.ToList();  
}
Run Code Online (Sandbox Code Playgroud)

我不明白,无法找到有关的信息[int count = 20]作为参数...

有人解释了他们的意思吗?

/最好的祝福!

c#

0
推荐指数
1
解决办法
107
查看次数