Tag: asp.net membership

更新会员资产。 方法不受支持

我试图研究我现在几个小时没有进展的例外情况。 我只是尝试使用以下代码更新成员资格配置文件: MembershipUser user = Membership.GetUser(username); user.IsApproved = false; Membership.UpdateUser(user); 所以问题在于上面代码示例中的最后一行。 服务器抛出exception,指出不支持指定的方法。 我没有构建错误,我相信我正在使用正确的库。 知道为什么会出现这样的事情吗? Server Error in ‘/’ Application. Specified method is not supported. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. […]

使用会话自定义RoleProvider

我正在考虑使用自定义MembershipProvider / RoleProviders。 不幸的是,我们目前拥有的安全层需要设置一些会话内容。 因此,当调用IsUserInRole()方法时,Session对象始终为null,因为Session内容都是预先填充的。 关于如何解决这个问题以及保留使用基于会话的安全模型的任何建议? (我没有写它,我必须使用它)。 任何帮助一如既往地非常感谢。

使用带有Asp.net Identity 1.1 Alpha的Guid和自定义表名创建自定义实现

我正在从不同的问题中提取(下面列出我提出的问题)。 我想做五件事,据我所知,这些问题和答案……所有这一切都可以在我的OnModelCreating方法中完成。 前言 :我正在使用Asp.Net Identity 1.1-alpha的最新夜间位 我想在AspNetUsers表中使用“UserId”而不是Id作为我的Users Id的属性。 我理解这将涉及在OnModelCreating期间使用“HasColumnName”。 我想使用Guid(uniqueidentifier)作为我的UserId(而不是字符串)的数据类型。 据我所知,这涉及到我自己的POCOS用于IUser类和IUserStore等,因为Hao Kung在这里的答案中表示…… 如何在Microsoft.AspNet.Identity.EntityFramework.IdentityUser中更改id的类型 我想使用我自己的自定义表名,如MyRoles,MyCUserClaims,MyUserLogins,MyUserRoles,MyUsers,如本答案中所示…… 使用Visual Studio 2013 ASP.NET身份时如何更改表名? 所有外键都应该与Asp.net身份表适当地映射,正如郝公在这里所显示的那样…… 使用SQL脚本创建ASP.NET标识表 我想将属性添加到FirstName和LastName的ApplicationUser。 因此,基于以上内容…有人可以向我提供OnModelCreating方法,该方法将相应地创建这些Identity表,其中UserId作为Guid(uniqueidentifier)类型的用户的Id列,在具有自定义名称的表中,具有相应的外键关系,以及FirstName和LastName的ApplicationUser上的两个附加属性?

Membership.GetUser(用户名) – 如何返回正确的套管?

我从URL获取用户名,所以blah.com/kevinuk。 我想在页面上有一些内容说KevinUK是什么,它存储在会员表中但是当我执行以下操作时,它会返回与输入相同的大小写。 MembershipUser member = Membership.GetUser(user); string userName = member.UserName; 如何使用小写用户名作为参数并使用正确的大小写从数据库返回值?

更改成员资格,角色等的默认连接字符串

默认情况下,我的Web应用程序似乎使用LocalSqlServer作为连接字符串,用于任何应用程序服务,如Membership / Roles / Authentication / LocalSqlServer 有什么方法可以更改默认连接字符串应该是什么? 它似乎是任意的,默认是“LocalSqlServer”,我能够找到这个的唯一方法是通过谷歌搜索大约两个小时。 我不想被迫必须命名我的服务器连接“LocalSqlServer”,我不知道这是否是我可能会覆盖的预先存在的项目。

使用SqlMembership Provider重置后无法使用新密码登录

使用SqlMembership provider重置密码后。我无法使用新密码登录。 下面是用于重置dbo.aspnet_Membership表密码的代码行。 密码已加密。 每次重置密码时,表中都会存储一个新的加密值。 但无法登录。 我的webconfig设置: C#代码: Membership user= Membership.GetUser(txtUser.Text); user.ResetPassword(txtNewPassword.Text); 任何人都可以帮我这个。为什么我还不能用新密码登录?

C#MembershipUser.ChangePassword仅对一个用户失败?

我在ASP.NET MVC-2应用程序中使用标准AspNetSqlMembershipProvider的更改密码function: MembershipUser user = Membership.GetUser(userId); string pwd = user.ResetPassword(); if (user.ChangePassword(pwd, confirmPassword)) { // it worked } 这适用于绝大多数用户,但有一些用户无法更改其密码 – user.ChangePassword()只返回false。 我自己试了一下,看看发生了什么,并为该用户输入了一个简单的密码12345678,但未能改变。 所以这不是因为他们输入的密码与密码规则不符。 我的web.config具有如下定义的成员资格提供程序: 它只是AspNetSqlMembershipProvider的正常定义,这里没什么好看的。 为什么一个用户(我)能够将其密码更改为12345678,但另一个用户无法将其密码更改为12345678? 此其他用户无法将其密码更改为任何内容。

ASP.NET DefaultMembershipProvider的哈希函数中是否存在错误?

我正在迁移我的旧版ASP.NET webforms应用程序,以开始使用ASP.NET内置的DefaultMembershipProvider。 我的旧homebrewn authenticationmodule用于存储SHA256密码哈希值。 我认为’升级’到DefaultMembershipProvider,它也在SQL DB中存储哈希值,这意味着我也可以迁移这些哈希值,因此可以为当前用户提供无痛的升级(因此他们不必重置密码)。 现在,这并没有按计划进行(很明显!)我开始研究DefaultMembershipProvider的来源(更具体地说,就在这里: https : //github.com/wyxy2005/bluceNet/tree/master/ System.Web.Providers )和我来了以下函数: private string EncodePassword(string pass, int passwordFormat, string salt) { if (passwordFormat == 0) { return pass; } byte[] bytes = Encoding.Unicode.GetBytes(pass); byte[] src = Convert.FromBase64String(salt); byte[] inArray = null; if (passwordFormat == 1) { HashAlgorithm hashAlgorithm = this.GetHashAlgorithm(); KeyedHashAlgorithm algorithm2 = hashAlgorithm as […]

ASP.NET中的自定义角色

我正在使用一个ASP.NET网站,该网站使用表单身份validation和自定义身份validation机制(以编程方式在protected void Login_Authenticate(object sender, AuthenticateEventArgs e)上设置e.Authenticated )。 我有一个ASP.NET站点地图。 某些元素必须仅显示给登录用户。 其他用户必须仅显示给一个唯一用户(即管理员,由用户名标识,永远不会改变)。 我想避免的: 设置自定义角色提供程序:为这样的基本事物编写的代码太多, 转换现有代码,例如删除站点地图并将其替换为代码隐藏解决方案。 我想做的事: 一个纯代码隐藏解决方案,它允许我在authenticate事件上分配角色。 可能吗? 怎么样? 如果没有,是否有一个易于做的解决方法?

将Membership.GetAllUsers()强制转换为通用列表时出现NotSupportedException

我试图在.NET Membership.GetAllUsers()集合中使用LINQ,例如在获取所有用户名时: var usernames = Membership.GetAllUsers().Cast().Select(x=>x.UserName).ToList(); 但VS告诉我它不受支持.. 成员身份是Web.Security的一部分,与MembershipUser相同 这是我的连接字符串(如果有任何相关性): 堆栈跟踪: 用户代码未处理System.NotSupportedException 消息=不支持指定的方法。 Source = System.Web.Extensions StackTrace:System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider.GetAllUsers(Int32 pageIndex,Int32 pageSize,Int32&totalRecords)at System.Web.Security.Membership.GetAllUsers(Int32 pageIndex,Int32 pageSize,Int32&totalRecords) )位于Bedriftsmelding的C:\ Projects \ Bedriftsmelding \ Bedriftsmelding.Nettside \ Models \ CompanyUsers.cs:第26行的Bedriftsmelding.Nettside.Models.CompanyUsers.GetUserIdFromUserName(String username)中的System.Web.Security.Membership.GetAllUsers()。 C:\ Projects \ Bedriftsmelding \ Bedriftsmelding.Tests \ DTO \ CompanyUsersTest.cs中的Tests.DTO.CompanyUsersTest.TestGetUserIdFromUserName():第16行InnerException: