小编Sam*_*Ken的帖子

如何使用ASP.NET 5 MVC 6保护Web API

我有一个很好的ASP.NET 5/MVC 6应用程序启动并运行.基本上就此而言,它只是您开始一个新项目时保持简单的正常示例应用程序.到目前为止,我可以:

  • 注册用户
  • 登录
  • 登出
  • 保护页面(强制登录等)

现在,我想要的是为应用程序提供一个API机制来登录并获取身份验证令牌.具体来说,我正在开发两个移动应用程序进行测试,一个使用Angular/Cordova,一个使用Xamarin.

我看起来高低不一,我似乎找不到一个例子来说明如何使这项工作.到目前为止,我发现的每个示例都假设用户将通过正常的Web表单/发布周期登录,然后转到加载Angular的页面,并且身份验证令牌已经在浏览器中.

下面是MVC控制器的AccountController.cs文件中的相关代码.我最终想要的是等效功能,但来自纯API调用,允许Angular/Xamarin向其发送用户名/密码并获取身份验证令牌或失败.

    // POST: /Account/Login
    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
    {
        ViewBag.ReturnUrl = returnUrl;
        if (ModelState.IsValid)
        {
            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, set shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            if (result.Succeeded)
            {
                return RedirectToLocal(returnUrl);
            }
            if (result.RequiresTwoFactor)
            {
                return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc restful-authentication asp.net-web-api asp.net-core-mvc asp.net-core

21
推荐指数
1
解决办法
7689
查看次数

带有MVC样式存储库的.NET RIA服务?

我有一个包含多个项目的解决方案,包括两个共享存储在外部程序集中的存储库和模型的asp.net mvc项目(也在同一个解决方案中).实质上...

Core/
-Repositories
-Models

Domestic.Web/
-Basic MVC Site,引用核心项目

International.Web/
-Basic MVC Site,引用核心项目

我想要做的是为所有数据库管理员构建一个Silverlight 3/RIA Services应用程序.这很好,除了RIA服务(大部分)只有实体框架才能真正记录 - 你可以在Linq2Sql上找到一些信息,更不用说用POCO支持RIA了.

我需要的是有关使用RIA和POCO的最佳参考,但如果有一些关于使用MVC/Nerddiner样式存储库模式的文档,则更好.

谢谢!

silverlight asp.net-mvc ria repository-pattern

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

Ria DomainService输入参数怪异,删除特殊吗?

在RIA域服务中,我添加了一些实用程序功能.比如我们......

public virtual CmsDealer GetCmsDealerById(string id)
{
    return this.Context.CmsDealerSet
        .Include("CmsItemState")
        .FirstOrDefault(p => p.Id == id);
}
Run Code Online (Sandbox Code Playgroud)

现在,如果id是不存在的,那么该函数有它自己的问题,但现在让表格.重要的是函数编译和执行.

但是类似的功能......

public virtual void DeleteCmsDealerById(string id)
{
    var dealer = this.Context.CmsDealerSet
        .FirstOrDefault(d => d.Id == id);

    if (dealer != null)
    {
        DeleteCmsDealer(dealer);
    }
}
Run Code Online (Sandbox Code Playgroud)

抛出编译时错误.

*Parameter 'id' of domain method 'DeleteCmsDealerById' must be an entity type exposed by the DomainService, either directly via a query operation, or indirectly via an included association.*
Run Code Online (Sandbox Code Playgroud)

问题是,我可以理解(字符串id)参数不能被EF加入,但为什么在一种情况下它可以正常而不是另一种情况呢?

输入欢迎:)

ria entity-framework

4
推荐指数
1
解决办法
5285
查看次数