问题标签 [simplemembership]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-membership - 为什么 Membership.ValidateUser() 总是返回 false?
我有一个 ASP.NET 2010 应用程序。当我完成注册过程时,我正确地登录了。但是,如果我稍后尝试登录,ValidateUser 总是返回 false'
我已经逐步确保正在发送正确的用户名和密码,并且此人在数据库(Express)中。这是我的 Web.Config ....所有只是常规的东西。
asp.net - SimpleMembershipProvider 不工作
我用 VS2012 开始了一个新的互联网项目,并试图稍微重组我的项目,但我似乎无法让 SimpleMemberhsipProvider 正常工作。基本上,我所做的只是将模型对象与其他几个项目一起移动到核心项目中。我已经实现了 Ninject 并试图通过使用存储库模式来抽象 Entity 来获取我的数据。我真的不觉得我对当前项目有太大的改变,但由于某种原因,当我现在启动应用程序时,我得到:
{“角色管理器功能尚未启用。”}
框架提供的 ActionFilter 是在以下情况下引发错误的地方:
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "Id", "UserName", autoCreateTables: true);
叫做。
这是一些堆栈跟踪:
[ProviderException:角色管理器功能尚未启用。]
System.Web.Security.Roles.EnsureEnabled() +9561885
System.Web.Security.Roles.get_Provider() +8
WebMatrix.WebData.WebSecurity.InitializeProviders(DatabaseConnectionInfo connect,字符串 userTableName,字符串 userIdColumn,字符串 userNameColumn,布尔 autoCreateTables)+104
WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection(字符串 connectionStringName,字符串 userTableName,字符串 userIdColumn,字符串 userNameColumn,布尔 autoCreateTables)+100
InoutBoard.Core.Infrastructure.Filters.SimpleMembershipInitializer.. c:\Users\Kyle\Documents\Visual Studio 2012\Projects\InoutBoard\InoutBoard.Core\Infrastructure\Filters\InitializeSimpleMembershipAttribute.cs:42 中的 ctor()[InvalidOperationException:无法初始化 ASP.NET 简单成员资格数据库。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=256588]
c:\Users\Kyle\Documents\Visual Studio 2012 中的 InoutBoard.Core.Infrastructure.Filters.SimpleMembershipInitializer..ctor() \Projects\InoutBoard\InoutBoard.Core\Infrastructure\Filters\InitializeSimpleMembershipAttribute.cs:46
asp.net-mvc-4 - 使用 simplemembership 的新 MVC 4 Internet 模板中基于角色的身份验证
我喜欢 MVC 4 互联网模板中新的 simplemembership 功能,其中包含指向 VS 2012 RTM 中外部登录的 OAuth 的链接。大多数情况下,身份验证功能都在工作。但是,即使在此花费了 8 多个小时后,我也无法实施基于角色的授权来在我的控制器上工作。事实证明,SimpleMembership 绝非简单。
我搜索了 stackoverflow,谷歌搜索并阅读了John Galloway的最新文章,尝试了许多建议,但仍然无法解决这个问题。这一切都始于出现 Sql 连接错误,并且无法弄清楚为什么连接字符串和其他一切都很好。花了好几个小时才弄清楚是 Roles 类导致了问题。
控制器上的 [Authorize] 属性与以前一样用于基本身份验证。但是每当我尝试使用角色时,它都会出现 sql 连接错误(因为它会恢复为旧的 DefaultRolesProvider,它试图连接到默认的 SqlExpress aspnetdb 文件并失败)。所以像:
不起作用。如果我回到旧的 asp.net 会员提供程序,它会起作用,但是我会丢失简单的数据库表、基于令牌的确认和恢复、更安全的密码散列以及更重要的是通过 OAuth 进行的外部登录。
在代码和剃刀视图中唯一有效的是
这对于菜单项等来说是可以的,但是在控制器中的每个动作中实现非常麻烦(而且我不喜欢它一次只测试一个角色)。
我将非常感谢任何解决此问题的指导。
entity-framework - 如何将 SimpleMembership 与 WebForm 4.5 和 EntityFramework 一起使用?
我听说有 ASP.NET 4.5 的新提供者(这样的成员资格提供者),但似乎我找不到任何关于将 SimpleMembership 与 WebForm ASP.NET 4.5 和 EntityFramework 一起使用的好方法。关于如何使用指定的技术(sql shema 创建、配置项目)实现 SimpleMembership 是否有任何好的文档或解释?
asp.net-mvc-4 - SimpleMembership、MVC4、AuthorizeAttribute 和角色
我正在尝试向我的一些 MVC4 控制器添加授权属性,只要它是一个计划[Authorize]
或[Authorize(Users="myuser")]
,它们就可以正常工作,但是当我添加任何类型的角色过滤时,它就会分崩离析,例如。[Authorize(Roles="admin")]
. 然后我开始收到如下错误:
“/”应用程序中的服务器错误。
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
SQLExpress 数据库文件自动创建错误:
连接字符串使用应用程序 App_Data 目录中的数据库位置指定本地 Sql Server Express 实例。提供者试图自动创建应用程序服务数据库,因为提供者确定该数据库不存在。成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库需要以下配置要求:
如果应用程序在 Windows 7 或 Windows Server 2008R2 上运行,则需要特殊的配置步骤来启用提供程序数据库的自动创建。其他信息可在以下网址获得:http: //go.microsoft.com/fwlink/ ?LinkId=160102. 如果应用程序的 App_Data 目录尚不存在,则 Web 服务器帐户必须具有对应用程序目录的读写权限。这是必要的,因为如果 App_Data 目录不存在,Web 服务器帐户将自动创建它。如果应用程序的 App_Data 目录已经存在,则 Web 服务器帐户只需要对应用程序的 App_Data 目录具有读写权限。这是必要的,因为 Web 服务器帐户将尝试验证 Sql Server Express 数据库是否已存在于应用程序的 App_Data 目录中。从 Web 服务器帐户撤消对 App_Data 目录的读取访问权限将阻止提供程序正确确定 Sql Server Express 数据库是否已存在。当提供程序尝试创建现有数据库的副本时,这将导致错误。需要写入权限,因为在创建新数据库时会使用 Web 服务器帐户的凭据。机器上必须安装 Sql Server Express。Web 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机和域帐户创建本地用户配置文件的详细信息,请参阅自述文件。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定实例)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔 breakConnection,操作1 重试,DbConnectionOptions userOptions,DbConnectionInternal& 连接)+5311874 System.Data .ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 wrapCloseInAction) +5295167 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +242
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +5307115
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +145
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +920
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +307
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions) +434
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +5309659
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) +38
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1 retry, DbConnectionOptions userOptions) +143
1 次重试) +83 System.Data.SqlClient.SqlConnection.Open() +96
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trust, String connectionString) +76[HttpException (0x80004005): 无法连接到 SQL Server 数据库。]
System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trust, String connectionString) +131
System.Web.Management.SqlServices。 SetupApplicationServices(字符串服务器,字符串用户,字符串密码,布尔信任,字符串连接字符串,字符串数据库,字符串 dbFileName,SqlFeatures 功能,布尔安装)+89
System.Web.Management.SqlServices.Install(字符串数据库,字符串 dbFileName,字符串连接字符串) +27
System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(字符串 fullFileName,字符串 dataDir,字符串 connectionString)+386版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.17929
我真的不确定这里发生了什么。同样,如果我删除了授权属性的角色位,那么它可以正常工作(至少可以阻止未经授权的用户),但是如果我必须将管理员用户硬编码到应用程序中,那就不好了!
知道这里发生了什么,以及如何使其正常工作吗?
谢谢,
asp.net-mvc-4 - 如何使用 SimpleMembership 管理个人资料?
我有一个基于 Internet 模板的 ASP.NET MVC 4 站点。我正在使用使用该模板设置的 SimpleMembership。
我可以修改为我创建的用户表,但我不确定修改我添加的额外字段的“正确”方法。我想要全名、电子邮件等并将它们添加到用户表中,但似乎无法通过 SimpleMembership WebSecurity.* 静态方法进行更新。
您是否应该在 SimpleMembership API 之外使用 EF 自己更新这些属性?
asp.net - SimpleMembership 与 ASP.NET MVC 4 中的自定义数据库架构
我想启用 ASP.NET MVC 4 的 SimpleMembership API 以与我自己的数据库架构集成。我的数据库中有一个简单的表,Users
用这些字段调用:
- ID
- 姓名
- 密码
- 电子邮件
- 已删除
我已经配置了 SimpleMembership API 以使用我的数据库:
我也可以插入一个用户:
但是,密码字段(或它的哈希)没有插入到用户表中(当然),它插入到另一个名为的表中,该表webpages_Membership
是通过调用创建的InitializeDatabaseConnection
,包含很多我不需要的不必要信息。
此外,我还有其他自动创建的表,称为 pages_OAuthMembership、webpages_Roles 和 pages_UsersInRoles,我不需要这些表。
我已经尝试将表生成设置为 false:
但在这种情况下,CreateUserAndAccount 调用将引发异常,因为它不会找到 pages_Membership 表。
当我想使用 SimpleMembership API 时,看起来需要这些表。
我的问题是:当我只想要一个简单的Users
表格时,在这种情况下我应该怎么做?
我是否必须自己编写整个成员资格处理和身份验证逻辑(哈希码生成等)?
sql-server - 使用没有 EntityFramework 的 SQL Server 的 MVC 4 SimpleMembershipProvider
是否可以在没有 EntityFramework 的情况下使用 SimpleMembershipProvider 设置 MVC 4,还是我需要编写自定义提供程序?
提前致谢!
asp.net-mvc-4 - 如何使 WebSecurity.Login 使用用户名或电子邮件登录?
WebSecurity.Login
在 simplemembership 中获取用户名和密码,如何使其使用用户名或电子邮件而不是用户名登录用户?,使用户可以自由输入他的电子邮件或用户名登录。
c# - 简单的会员提供者关系
在具有默认成员资格提供程序的 ASP.NET MVC 3 中,我将创建与
在带有 Simple Membership Provider 的 ASP.NET MVC 4 中,与 SMP 兼容的 Membership.GetUser() 和类 MembershipUser 的等效方法是什么?