标签: asp.net-mvc-5

如何使用ASP.NET MVC 5的UserManager重置密码

我想知道如果有一种方法与重置密码UserManagerASP.NET MVC 5

我尝试使用已经有密码但没有成功的用户.任何线索?

IdentityResult result = UserManager.AddPassword(forgotPasswordEvent.UserId.ToString(), model.ConfirmPassword);
if (result.Succeeded)
{
       //
}
else
{
        AddErrors(result);
}
Run Code Online (Sandbox Code Playgroud)

c# passwords reset-password asp.net-mvc-5 usermanager

41
推荐指数
4
解决办法
7万
查看次数

获取Asp.Net MVC 5中登录用户的UserID

我是ASP.Net MVC的新手,现在尝试使用内置的用户登录功能.我可以在注册视图中注册用户.如果我尝试使用创建的用户登录,这也有效.我被重定向到母版页.

但是我无法获得当前用户的UserID.我在HomeController和AccountController中尝试了我的代码,但两者都没有用.第一行中的语句返回null.

var userID = User.Identity.GetUserId();

if (!string.IsNullOrEmpty(userID))
{
    var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(ApplicationDbContext.Create()));
    var currentUser = manager.FindById(User.Identity.GetUserId());
}
Run Code Online (Sandbox Code Playgroud)

在获取UserID之前,我是否需要做其他事情?

c# asp.net asp.net-mvc asp.net-mvc-5 asp.net-identity

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

如何从ASP.NET身份获取用户列表?

编辑:这个问题已经过时了

在我问这个时,身份框架是一个移动目标.作者改变了很多东西,他们将几件事分开,使事情变得更容易.

看看github上的Asp.NET Identity Sample项目.


我正在创建一个需要用户管理的小应用程序.不允许注册,而是有超级用户将创建和修改登录信息.

我正在使用新的ASP.NET身份会员系统,当然,创建用户和添加角色非常简单直观.

现在,我的问题:如何使用生成的AccountController类使用的AuthenticationIdentityManager类获取用户列表?我找不到从我的控制器访问用户列表的方法.

(顺便说一句,新名称"身份"对某些人来说可能听起来很棒,但搜索却很痛苦.)

编辑:如果我尝试这样做

ApplicationDbContext UsersContext = new ApplicationDbContext();
UsersContext.Users.ToList(); // Exception
Run Code Online (Sandbox Code Playgroud)

我得到一个例外Invalid column name 'Discriminator'.ApplicationDbContext的定义由新的应用程序向导自动生成:

using Microsoft.AspNet.Identity.EntityFramework;

namespace Cobranzas.Models
{
    public class ApplicationUser : User
    {

    }
    public class ApplicationDbContext : IdentityDbContextWithCustomUser<ApplicationUser>
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的猜测是,Discriminator列告诉分开ApplicationUserUser.但是,它在我的数据库中不存在(由应用程序自动创建).

asp.net asp.net-membership asp.net-mvc-5 asp.net-identity

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

将项目升级到MVC 5

我一直在寻找升级当前MVC 4应用程序的解决方案,我必须使用新的MVC 5二进制文件.我无法在任何地方找到解决方案.

有人有主意吗?

asp.net-mvc-4 asp.net-mvc-5

39
推荐指数
2
解决办法
3万
查看次数

owin和oAuth2.0之间有什么关系?

我研究外部登录策略,术语让我困惑.以下是什么关系.

  • Owin
  • OauthWebSecurity
  • OAuth 2.0
  • Owin Katana
  • ASP.NET身份

oauth owin asp.net-mvc-5

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

@ Html.BeginForm()如何工作?并在Microsoft ASP.Net MVC 5教程中搜索结果?

我正在研究MVC 5 Asp.Net并遵循教程.我想知道当我点击过滤按钮时如何获取结果?

在Movie/view/Index.cshtml中添加了此代码

@using (Html.BeginForm())
{    
     <p> Title: @Html.TextBox("SearchString") <br />   
     <input type="submit" value="Filter" /></p> 
} 
Run Code Online (Sandbox Code Playgroud)

据我所知,它在屏幕上创建了一个文本框和一个按钮.但是这个按钮如何调用搜索(索引)函数并在函数中传递textbox的值,我无法得到它.

asp.net asp.net-mvc asp.net-mvc-5

39
推荐指数
1
解决办法
8万
查看次数

使用Windows域帐户和应用程序管理的帐户

创建一个基于Windows域用户进行身份验证的ASP.NET MVC应用程序很容易.创建一个使用Entity Framework存储的个人帐户也很容易.事实上,两者都有项目模板.

但我想利用BOTH各种认证在同一应用程序.我试图结合两个项目模板的代码.我在Startup.Auth.cs中遇到问题.

// from "Individual Accounts" template
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
    LoginPath = new PathString("/Account/Login"),
    Provider = new CookieAuthenticationProvider
    {
        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
            validateInterval: TimeSpan.FromMinutes(30),
            regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
    }
});
Run Code Online (Sandbox Code Playgroud)

中间件中存在cookie身份验证似乎导致域身份变为未经身份验证.如果我采用此行,域身份验证将起作用.但没有它,我似乎无法支持个人用户帐户.

我已经下载了katana项目源代码并检查了CookieAuthenticationHandler.cs,但我不太明白它是如何在OWIN管道的上下文中工作的.

如何使用ASP.net身份框架允许我的应用程序从Windows域或特定于应用程序的用户存储中验证用户?

c# asp.net-mvc claims-based-identity asp.net-mvc-5 asp.net-identity

39
推荐指数
2
解决办法
1993
查看次数

如何使用Entity Framework执行原始SQL查询而不必使用模型?

我正在尝试学习C#ASP.NET MVC 5.我正在尝试使用Entity Framework来完成我所做的一切.

但是,我需要运行原始SQL查询并将结果返回到数组中.

这是我到目前为止所做的.

我创建了我的上下文类,它允许我连接到服务器,它还允许我在运行时更改数据库.

这是我的上下文类

using ScripterEngine.Models;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Entity;
using System.Data.Entity.Core.EntityClient;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace ScripterEngine.DataAccessLayer
{
    public class BaseContext : DbContext
    {
        protected string connectionName;
        public DbSet<Campaign> Campaign { get; set; }

        /**
         * Created the connection to the server using the giving connection string name
         * 
         * @param connName
         */
        public BaseContext(string connName = "BaseConnection")
            : base(connName)
        {
            connectionName = connName;
        }

        /**
         * Changes the …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc entity-framework asp.net-mvc-5

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

Visual Studio 2017 无法启动调试适配器“chrome”

我有 asp.net mvc 5 项目。当我尝试使用启用的脚本调试模式并使用 Chrome 开始调试时,Visual Studio 2017 显示错误:

在此处输入图片说明

当我在 Visual Studio 调试选项中设置“为 ASP.NET 启用旧版 Chrome JavaScript 调试器”时,它起作用了:

在此处输入图片说明

但是,如何在不启用旧版 Chrome JavaScript 调试器的情况下解决此问题?

asp.net-mvc-5 visual-studio-2017

39
推荐指数
4
解决办法
4万
查看次数

ASP.NET MVC 5错误处理

我们希望处理403错误,404错误,由于a导致的所有错误,MySpecialDomainException并为所有其他错误(包括IIS配置中的错误!)提供默认错误页面.所有错误都应该返回正确的Razor视图,ErrorController在视图前面有一个非常好的.例如,像这样:

public class ErrorController : Controller
{
    public ViewResult NotFound () { return View(); }
    public ViewResult Forbidden () { return View(); }
    public ViewResult Default ()
    {
        var ex = ObtainExceptionFromSomewhere();
        if(ex is MySpecialDomainException)
            return View("MySpecialDomainException", new ErrorModel { Exception = ex });

        return View("GeneralError", new ErrorModel { Exception = ex });
    }
}
Run Code Online (Sandbox Code Playgroud)

目前,您可以在www上找到许多不同的方法,有些可能已经过时了.在这些:

  • Controller.OnException()
  • 错误过滤器
  • web.config中的customErrors元素
  • 处理Global.asax的Application_Error

Q1:使用ASP.NET MVC 5满足我们要求的推荐方法是什么?

我们还希望捕获IIS主机中发生的错误.Q2:为了防止IIS必须处理任何404,我们考虑添加一个匹配所有可能URL的默认路由 - 这是值得推荐的吗?最好注册IIS的404'?

问题3:甚至可以注册一个可以返回控制器的IIS错误页面,还是仅支持ASPX /静态HTML的IIS?

c# error-handling asp.net-mvc asp.net-mvc-5 asp.net-mvc-5.1

38
推荐指数
3
解决办法
8万
查看次数