我想知道如果有一种方法与重置密码UserManager的ASP.NET MVC 5
我尝试使用已经有密码但没有成功的用户.任何线索?
IdentityResult result = UserManager.AddPassword(forgotPasswordEvent.UserId.ToString(), model.ConfirmPassword);
if (result.Succeeded)
{
//
}
else
{
AddErrors(result);
}
Run Code Online (Sandbox Code Playgroud) 我是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之前,我是否需要做其他事情?
编辑:这个问题已经过时了
在我问这个时,身份框架是一个移动目标.作者改变了很多东西,他们将几件事分开,使事情变得更容易.
看看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列告诉分开ApplicationUser的User.但是,它在我的数据库中不存在(由应用程序自动创建).
我一直在寻找升级当前MVC 4应用程序的解决方案,我必须使用新的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的值,我无法得到它.
创建一个基于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
我正在尝试学习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) 我有 asp.net mvc 5 项目。当我尝试使用启用的脚本调试模式并使用 Chrome 开始调试时,Visual Studio 2017 显示错误:
当我在 Visual Studio 调试选项中设置“为 ASP.NET 启用旧版 Chrome JavaScript 调试器”时,它起作用了:
但是,如何在不启用旧版 Chrome JavaScript 调试器的情况下解决此问题?
我们希望处理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上找到许多不同的方法,有些可能已经过时了.在这些:
Q1:使用ASP.NET MVC 5满足我们要求的推荐方法是什么?
我们还希望捕获IIS主机中发生的错误.Q2:为了防止IIS必须处理任何404,我们考虑添加一个匹配所有可能URL的默认路由 - 这是值得推荐的吗?最好注册IIS的404'?
问题3:甚至可以注册一个可以返回控制器的IIS错误页面,还是仅支持ASPX /静态HTML的IIS?
asp.net-mvc-5 ×10
asp.net-mvc ×5
c# ×5
asp.net ×4
oauth ×1
owin ×1
passwords ×1
usermanager ×1