Tôi đang sử dụng API thành viên ASP.NET. Tôi muốn ép buộc người dùng thay đổi mật khẩu của họ sau lần đầu tiên anh ta đăng nhập. Nhưng, tôi không thể tìm thấy bất kỳ chức năng nào được tích hợp trong API thành viên của ASP.NET.
Có thể, hay không? Nếu có, làm thế nào nó có thể được thực hiện dễ dàng?Thay đổi mật khẩu API thành viên ASP.NET
Trả lời
Không có chức năng tích hợp.
Bạn cần tự mình triển khai. Dưới đây là một ví dụ: http://forums.asp.net/p/1273575/2414481.aspx
đây bạn đang có, một giải pháp kiểm tra đầy đủ;)
protected void LoginButton_Click(object sender, EventArgs e)
{
/****note: UserName and Password are textbox fields****/
if (Membership.ValidateUser(UserName.Text, Password.Text))
{
MembershipUser user = Membership.GetUser(UserName.Text);
if (user == null)
{
FailureText.Text = "Invalid username. Please try again.";
return;
}
if (user.IsLockedOut)
user.UnlockUser();
/* this is the interesting part for you */
if (user.LastPasswordChangedDate == user.CreationDate) //if true, that means user never changed their password before
{
//TODO: add your change password logic here
}
}
}
Trong trường hợp bạn cần sự giúp đỡ trong làm thế nào để thay đổi mật khẩu, xin vui lòng cho tôi biết.
Nếu bài đăng này có bất kỳ trợ giúp nào cho bạn, vui lòng gắn thẻ làm câu trả lời
Để thay thế cho tài sản LastPasswordChangedDate, bạn cũng có thể sử dụng tài sản Comment (đó chỉ là chuỗi dạng tự do) để cho biết người dùng cần đặt lại mật khẩu của họ, trong trường hợp logic thay đổi mật khẩu của bạn không phải lúc nào cũng xoay quanh ngày thay đổi mật khẩu. –
Dưới đây là giải pháp trong VB. Nó cũng bao gồm FindControl để đọc và thiết lập các phần tử biểu mẫu asp:Login ID="LoginUser"
.
Protected Sub LoginButton_Click(sender As Object, e As EventArgs)
'***note: UserName and Password are textbox fields***
Dim UserName As TextBox = DirectCast(LoginUser.FindControl("UserName"), TextBox)
Dim Password As TextBox = DirectCast(LoginUser.FindControl("Password"), TextBox)
Dim FailureText As Literal = DirectCast(LoginUser.FindControl("FailureText"), Literal)
If Membership.ValidateUser(UserName.Text, Password.Text) Then
Dim user As MembershipUser = Membership.GetUser(UserName.Text)
If user Is Nothing Then
FailureText.Text = "Invalid username. Please try again."
Return
End If
If user.IsLockedOut Then
user.UnlockUser()
End If
' this is the interesting part for you
If user.LastPasswordChangedDate = user.CreationDate Then
'TODO: add your change password logic here
End If
End If
End Sub
Đây là cách tôi đã làm. Nó là tốt hơn để làm điều đó sau khi đăng nhập.
protected void LoginUser_LoggedIn(object sender, EventArgs e)
{
if (Membership.ValidateUser(this.LoginUser.UserName, this.LoginUser.Password))
{
MembershipUser user = Membership.GetUser(this.LoginUser.UserName);
if (user == null)
{
this.LoginUser.FailureText = "Invalid username. Please try again.";
return;
}
if (user.IsLockedOut)
{
user.UnlockUser();
}
if (user.LastPasswordChangedDate == user.CreationDate) //if true, that means user never changed their password before
{
Response.Redirect("~/Account/ChangePassword.aspx");
}
}
}
- 1. Hạn sử dụng mật khẩu thành viên ASP.NET
- 2. Làm thế nào để tự thay đổi mật khẩu trong thành viên asp.net?
- 3. Thay đổi mật khẩu người dùng trong ASP.NET Forms Authentication
- 4. Thay đổi mật khẩu trong couchdb 1.2 qua api?
- 5. Làm thế nào để bạn thay đổi mật khẩu băm bằng cách sử dụng nhà cung cấp thành viên asp.net nếu bạn không biết mật khẩu hiện tại?
- 6. Làm cách nào để thay đổi mật khẩu gốc thành mật khẩu trống?
- 7. Thành viên Tạo mật khẩu chỉ có mật khẩu chữ và số?
- 8. Liferay - tùy chỉnh thay đổi mật khẩu
- 9. thay đổi mật khẩu git-svn
- 10. Thay đổi mật khẩu Derby DB
- 11. Thay đổi mật khẩu trong Django quản
- 12. Thay đổi mật khẩu SSH trong Git
- 13. Lựa chọn thay thế thành viên ASP.NET
- 14. Devise, cho phép người dùng thay đổi mật khẩu
- 15. Thay đổi mật khẩu trong SQL Developer sau ORA-28001 mật khẩu đã hết hạn
- 16. Đặt lại mật khẩu ASP.NET - vấn đề bảo mật?
- 17. Làm thế nào tôi có thể thay đổi hoặc cập nhật mật khẩu trong tư cách thành viên asp.net thông qua máy chủ sql
- 18. Chuyển đổi loại hộp văn bản thành mật khẩu trong asp.net mvc
- 19. Thay đổi mật khẩu gốc từ tập lệnh
- 20. Quên mật khẩu Devise gem API
- 21. Rails 3 Thiết lập thủ công thay đổi mật khẩu
- 22. Thay đổi mật khẩu của Sitecore Bắt buộc
- 23. Cách khôi phục hoặc thay đổi mật khẩu Oracle sysdba
- 24. PHP/PAM để thay đổi mật khẩu người dùng?
- 25. Làm cách nào để thay đổi mật khẩu ActiveAdmin?
- 26. Apache htpasswd thay đổi mật khẩu an toàn
- 27. Thực hiện thay đổi mật khẩu trong Symfony2
- 28. mật khẩu đã thay đổi, access token không hợp lệ
- 29. Hộ chiếu-Mongoose địa phương - Thay đổi mật khẩu?
- 30. Hashing Mật khẩu Với ASP.NET MVC 3
http://forums.asp.net/p/1273575/2414481.aspx –