- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有自定义 httpModule 的 WCF Web 服务,我用它对 MysqlMembership 进行用户名/密码身份验证。
public void Init(HttpApplication application)
{
application.AuthenticateRequest += new EventHandler(this.OnAuthenticateRequest);
application.EndRequest += new EventHandler(this.OnEndRequest);
}
public void OnAuthenticateRequest(object source, EventArgs eventArgs)
{
...
...
if (Membership.ValidateUser(username, password))
{
当我开始对服务进行负载测试时,我遇到了一个令人困惑的问题。请求随机失败 Membership.ValidateUser 调用。我对负载测试器中的每个线程使用相同的用户名/登录名。这是错误:
[MySqlException (0x80004005): Deadlock found when trying to get lock; try restarting transaction]
MySql.Data.MySqlClient.MySqlStream.ReadPacket() +506
MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32& insertedId) +450
MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) +131
MySql.Data.MySqlClient.MySqlDataReader.NextResult() +1216
MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) +2191
MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() +27
MySql.Web.Security.MySQLMembershipProvider.ValidateUser(String username, String password) +1092
[ProviderException: An exception occurred. Please check the Event Log.]
MySql.Web.Security.MySQLMembershipProvider.ValidateUser(String username, String password) +1481
MyApplication.UserAuthenticator.UserNameAuthenticator.OnAuthenticateRequest(Object source, EventArgs eventArgs) in C:\Develop\MyProject\MyProject.UserAuthenticator\UserNameAuthenticator.cs:123
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +270
有什么想法吗?
谢谢,弗里兹
最佳答案
如果密码无效,验证用户会锁定该行,以便增加无效密码尝试次数:
If an incorrect password is supplied to the ValidateUser method, the internal counter that tracks invalid password attempts is incremented by one. This can result in the user being locked out and unable to log on until the lock status is cleared by a call to the UnlockUser method. If the correct password is supplied and the user is not currently locked out, then the internal counters that track invalid password and password-answer attempts are reset to zero. For more information, see the MaxInvalidPasswordAttempts and PasswordAttemptWindow properties.
http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.validateuser.aspx
由于您对所有请求使用同一用户,因此可能会出现死锁。
关于.net - MysqlMembership Membership.ValidateUser 负载下出现死锁问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9550711/
我正在使用 System.Web.Sercurity.Membership 方法来处理我们网络服务的用户。在测试期间我对它非常满意,因为我们的数据库和 Web 服务驻留在同一台服务器上。 当数据库和
我们正在尝试“锁定”一台计算机,以便我们拥有一个只有很少权限的 Windows XP 通用登录帐户。然后我们的软件通过一个启动器启动,该启动器以更高权限的用户身份运行它,允许它访问文件系统。 然后,运
我想在我的 MVC 项目开始时构建一个成员(member)系统,我使用 Membership.ValidateUser 方法来验证凭据。但是我不明白这种方法如何访问我的数据库并检查我的电子邮件和密码信
我一直在学习 MembershipProvider 类,我认为 Membership.ValidateUser() 方法应该用于让用户登录。 但是,我刚刚得知有一个FormsAuthenticatio
我有一个带有自定义 httpModule 的 WCF Web 服务,我用它对 MysqlMembership 进行用户名/密码身份验证。 public void Init(HttpApplicatio
我正在使用讨论的解决方案 here根据我的 ASP.NET Web 应用程序中的事件目录对用户进行身份验证。我编写了一个简单的 ADMembershipProvider 类,它与 FormsAuthe
我正在使用标准的 .NET 成员资格提供程序,并认为我会看看是否有人可以对此有所了解。 调用 ValidateUser 返回 true 或 false。现在,由于该方法接受用户名和密码,因此可以推断返
我有一个类“User”,它由其他两个类(LocalUser 和 Donor)继承。我已经为 ASP.net 表单例份验证创建了一个自定义成员资格提供程序,并重写了 ValidateUser() 方法。
我目前正在 ASP.NET MVC3 中实现自定义成员资格提供程序,并且一直在查看不同示例实现的示例。我注意到 FormsAuthentication.SetAuthCookie() 似乎从未从提供程
有没有办法扩展 ValidateUser 方法来接收默认参数以外的其他参数? 默认 public override bool ValidateUser(string username, string
如何从自定义成员资格提供程序中的 ValidateUser 方法返回字符串消息?我需要这个是因为我想执行几项检查(用户被批准,用户被阻止等)并在登录过程失败时给用户一个很好的描述。 一种选择是抛出异常
Membership.ValidateUser 方法适用于开发服务器(iis express 和 cassini)。但在我的 IIS 上(它作为我的开发计算机上的应用程序发布)它总是返回 false。
这个问题在这里已经有了答案: Membership.ValidateUser always return false on IIS (2 个答案) 关闭 6 年前。 这是我的 web.config:
有没有办法更改 MVC 3 中的 ValidateUser 方法? 例如..需要一个额外的参数,比如一个识别号或类似的东西? 我感觉这个东西很静态...... 哦,有没有办法使用其他数据库而不是现有的
不确定这是否适用于 VS 2010 或升级后的框架,但是...我们正在使用 Oracle 成员资格提供程序来验证用户。在升级之前一切正常,但现在 Membership.ValidateUser(use
我是一名优秀的程序员,十分优秀!