Tag: asp.net identity

ASP.Net Identity如何设置目标DB?

我正在使用Asp-Team的ASP.NET Identity Sample ,我正在尝试更改IdentityDbContext的数据库…… 我用构造函数试了一下 public MyDbContext() : base(“MyConnectionString”) { } // base is IdentityDbContext 和DbContext类一样。 这很有效,直到我尝试注册用户… await IdentityStore.CreateLocalUser(user, model.Password) 返回false …没有错误,没有。 任何想法如何解决? 编辑: Filename是Models\AppModel.cs ,还有MyDbContext class 原来是 public class MyDbContext : IdentityDbContext { } 我改成了 public class MyDbContext : IdentityDbContext { public MyDbContext() : base(“MyConnectionString”) { } } 连接字符串正在工作,因为我有其他项目使用相同,他们运行正常。

你能扩展HttpContext.Current.User.Identity属性吗?

有没有办法覆盖HttpContext.Current.User.Identity添加另一个属性(屏幕名称)? 我的应用程序使用Identity ,我将唯一身份保留为电子邮件。 我将用户数据(例如名/姓)存储在单独的”Profile”表中。 有没有办法在HttpContext.Current某处存储这些信息? 它不一定需要在User范围内。 我有一个搜索,并注意到有一个HttpContext.Current.ProfileBase 。 虽然不确定如何使用它 – 而且我真的不希望所有多余的东西都带有它。

ASP.net Identity 2.0退出另一个用户

我正在使用asp.net MVC和ASP.net Identity 2.0。 在我的网站上Admin可以选择禁止用户,我希望当用户被禁止他自动从网站注销时。 我知道我可以通过电话退出当前用户 AuthenticationManager.SignOut(); 但是可以注销另一个用户吗? 或者可能会缩短他的课程? 还是什么? 我知道我可以对控制器进行全局过滤,禁止禁止用户访问但是filter会针对每个用户运行,所以我对这个解决方案并不满意。

微服务架构中的ASP.NET身份

我试图通过将主要组件分解为单独的Web服务器来使用微服务架构来实现Web应用程序。 我正在使用ASP.NET Identity(仅限电子邮件/用户名登录,没有Facebook等)和“主”应用程序服务器来实现身份validation服务器。 我目前的挑战是弄清楚如果用户通过身份validation服务器登录,应用程序服务器将如何识别。 由于身份validation服务器生成用户validation用户身份的令牌,我想它们存储在某个地方并且可以由应用程序服务器查询,但我不确定如何执行此操作。 理想情况下,我的应用程序服务器WebAPI端点将能够使用[Authorize]注释。 问:一个服务器如何使用ASP.NET标识通过单独的身份validation服务器控制访问?

为ASP.NET身份配置Unity DI

我正在成功地使用Unity进行所有常规构造函数注入,例如存储库等,但我无法使用ASP.NET Identity类。 设置是这样的: public class AccountController : ApiController { private UserManager _userManager { get; set; } public AccountController(UserManager userManager) { if (userManager == null) { throw new ArgumentNullException(“userManager”); } _userManager = userManager; } // … } 使用Unity的这些配置: unity.RegisterType(); unity.RegisterType<UserManager>(new HierarchicalLifetimeManager()); unity.RegisterType<IUserStore, UserStore>(new HierarchicalLifetimeManager()); 这与Autofac,Ninject的其他post相同,例如,但在我的情况下它不起作用。 错误消息是: 尝试创建“AccountController”类型的控制器时发生错误。 确保控制器具有无参数的公共构造函数。 手动创作当然是: public AccountController() : this(new UserManager(new UserStore(“Mongo”))) { […]

使用Simple Injector注册IAuthenticationManager

我正在为Simple Injector配置设置,我将所有注册都移到了OWIN管道。 现在问题是我有一个控制器AccountController实际上将参数作为 public AccountController( AngularAppUserManager userManager, AngularAppSignInManager signinManager, IAuthenticationManager authenticationManager) { this._userManager = userManager; this._signInManager = signinManager; this._authenticationManager = authenticationManager; } 现在,我的Owin Pipeline配置看起来像这样 public void Configure(IAppBuilder app) { _container = new Container(); ConfigureOwinSecurity(app); ConfigureWebApi(app); ConfigureSimpleinjector(_container); app.Use(async (context, next) => { _container.Register(() => context); await next(); }); _container.Register( () => _container.GetInstance().Authentication); _container.Register<SignInManager, AngularAppSignInManager>(); } private […]

为什么Asp.Net Identity IdentityDbContext是黑盒子?

IdentityDbContext似乎有很多混乱。 如果我们在应用程序中创建两个数据库上下文,一个用于Identity,另一个用于我们的自定义业务数据,则Identity Database Contextinheritance自IdentityDbContext,而我们的自定义业务数据inheritance自DbContext。 所以让我们将以下内容添加到控制器: private MyDbContext db = new MyDbContext(); private ApplicationDbContext identityDb = new ApplicationDbContext(); 以下是控制器中的Index方法: var thingsInMyBusinessDb = db.Things.ToList(); var usersInIndentityDb = identityDb.AspNetUsers.ToList(); // THIS WILL HAVE AN ERROR var roles = identityDb.AspNetRoles.ToList(); // ERROR 您还会注意到Indentity数据库中的表不可用。 为什么是这样? 目前从2.0.0-beta1开始,有一个用户和角色项目,但我希望实际的表格可用。 那么为何不? 如果我想访问AspNetUserRoles怎么办? 当然,如果它被视为entity framework中的任何数据库上下文,那么Asp.Net Identity的许多混乱和问题似乎都会消失。

如何在MVC应用程序中使用JWT进行身份validation和授权?

我计划在asp.net MVC应用程序中使用asp.net Identity 2.0进行身份validation和授权。 参考以下链接 使用Owin的ASP.NET Web API 2中的JSON Web令牌 我能够为有效用户创建访问令牌(JWT),即,当用户登录到应用程序时,我将使用名称和密码validation用户,然后我将为该有效用户发出JSON Web令牌。 现在,我在一些文章中读到,我们需要在标头中为每个请求传递承载令牌,以validation用户的身份validation。 在MVC中,我们将为需要保护的方法提供Authorize属性,如下所示… public class UserController : BaseHRAppController { [Authorize] public ActionResult Index() { return View(); } } 如何告诉我的MVC应用程序使用JWTvalidation用户。 我想让我的MVC应用程序在用户尝试使用authorize属性访问方法时使用JWTvalidation用户。 因为,我将在许多页面中使用ajax调用来访问mvc控制器中存在的方法,我不认为它是在每个ajax请求上传递令牌的好方法。 我需要一个帮助,以便在MVC应用程序中使用asp.net身份以有效的方式完成身份validation和授权。 目前,我不知道如何在mvc应用程序中使用此JWT令牌进行身份validation和授权。 任何帮助表示赞赏谢谢。

ASP.NET Identity的默认密码哈希 – 它是如何工作的并且是否安全?

我想知道在MVC 5和ASP.NET Identity Framework附带的UserManager中默认实现的Password Hasher是否足够安全? 如果是这样,如果你可以向我解释它是如何工作的? IPasswordHasher界面如下所示: public interface IPasswordHasher { string HashPassword(string password); PasswordVerificationResult VerifyHashedPassword(string hashedPassword, string providedPassword); } 正如你所看到的,它不需要盐,但是在这个post中提到:“ Asp.net身份密码哈希 ”,它确实在幕后加盐。 所以我想知道它是如何做到的? 这盐来自哪里? 我担心的是盐是静态的,使它非常不安全。