2010-05-06 33 views
7

Tôi có thể sử dụng điều khiển khôi phục mật khẩu asp.net 3.5 trong ứng dụng MVC không?asp.net 3.5 kiểm soát phục hồi mật khẩu trong một ứng dụng mvc?

Chúng tôi cần cung cấp khả năng truy xuất mật khẩu cho ứng dụng MVC của chúng tôi và tôi muốn sử dụng điều khiển khôi phục mật khẩu chỉ hoạt động với ứng dụng biểu mẫu web.

Trả lời

0

Rất nhiều điều khiển máy chủ từ Webforms sẽ không hoạt động trên MVC như được thiết kế. Hãy xem MvcMembership starter kit.

+2

đó không thực sự là câu trả lời hữu ích! – Adaptabi

4

Không giống như đăng nhập và đăng xuất, tính năng Khôi phục mật khẩu không được triển khai trong dự án ASP.NET MVC hoàn toàn mới, tuy nhiên, việc thêm tính năng này vào dự án ASP.NET MVC thực sự khá dễ dàng như lớp thành viên đã có chức năng cốt lõi tích hợp sẵn.

tôi đã đăng trong blog của tôi một lời giải thích về cách tôi đã làm nó:

http://www.hectorcorrea.com/blog/Password-Recovery-in-an-ASP.NET-MVC-Project.aspx

+1

Blog của Hector không chứa mã biển và tạo url hoặc mật khẩu tạm thời. – Andrus

4

Một vài điểm trên nhà nước-of-the-art hiện tại (thời điểm tháng Mười, 2011):

Thứ nhất: có một cơ hội tốt bạn không thực sự muốn khôi phục mật khẩu vì nó được coi là rủi ro bảo mật và bạn phải tắt mã hóa mật khẩu một chiều để có thể triển khai. Thay vào đó, hầu hết mọi người thực hiện mật khẩu "đặt lại".

Nếu bạn thực sự muốn cho phép "hồi phục" sau đó:

1) Khi bạn tạo một dự án internet mới trong VS2010, nó tạo ra: các trang đăng nhập, đăng ký, và ChangePassword cho bạn. Như Hector nói, không có phục hồi mật khẩu được tạo ra cho bạn.

2) Tuy nhiên, nhà cung cấp thành viên Asp.Net không hỗ trợ nó, vì vậy bạn có thể thêm nó bằng cách tạo Mô hình, Bộ điều khiển và Chế độ xem, đặt enablePasswordRetrieval = "true" và passwordFormat = "Encryted" và gọi Membership.GetUser().

Nếu thay vì mật khẩu "Khôi phục", bạn thực sự muốn có mật khẩu "Đặt lại" thì có một số cách để triển khai: i) Tự phục vụ - nơi người dùng có thể nhấp vào liên kết và email được gửi đến chúng với một liên kết để đặt lại mật khẩu.

Ví dụ:

Cái này tôi đã thử. Tôi thích nó vì nó xử lý cả hai xác nhận tài khoản và khôi phục mật khẩu: - http://nuget.org/List/Packages/SimpleMembership.Mvc3

Tôi đã không cố gắng nào của những:

-http://hectorcorrea.com/Blog/Password-Recovery-in-an-ASP.NET-MVC-Project

-http://stevenalexander.posterous.com/expiring-password-reset-token-in-mvc-with-wf

-http://forrst.com/posts/ASP_NET_MVC_3_C_Password_Reset-gFA

ii) Quản trị viên được quản lý - bạn liên hệ với quản trị viên sau đó đặt lại mật khẩu cho bạn. Bộ khởi động MvcMembership của TroyGoode mà Gthompson83 đề cập ở trên là một ví dụ về điều này. Có một mục trình đơn có tên là "Quản trị người dùng" có thể truy cập được với quản trị viên và cho phép đặt lại mật khẩu hoặc một mật khẩu ngẫu nhiên được tạo và gửi qua email cho người dùng. Nó cũng cho phép bạn quản lý vai trò.

Các vấn đề liên quan