2009-07-23 6 views
10

Đây là một nhánh của this question.Làm cách nào để sử dụng điều khiển Đăng nhập ASP.NET mà không sử dụng MembershipProvider?

  • Làm thế nào để sử dụng một điều khiển Login nếu tôi không có một MembershipProvider để trỏ nó tại?
  • Tôi có hiểu chính xác mô hình sử dụng không?
  • Thậm chí còn hợp lý để nói về việc sử dụng điều khiển Login mà không cần MembershipProvider?
  • Việc chọn số MembershipProvider làm nhiều việc hơn là chỉ kiểm tra tên người dùng/mật khẩu?
  • Sẽ hợp lý hơn khi tạo MembershipProvider của riêng tôi với cùng một logic xác thực?

Trong trường hợp của tôi, tôi không cần MembershipProvider (Tôi nghĩ) vì tình trạng xác thực của tôi là không đáng kể (một người dùng, một mật khẩu).

Tôi quan tâm một phần đến "bằng chứng trong tương lai" trang của tôi và một phần vì tôi mới và tự hỏi về cách hoạt động của các công cụ. (Tôi có xu hướng tìm hiểu về mọi thứ bằng cách chạy hết tốc độ vào mọi trường hợp góc tôi có thể tìm thấy :)

Trả lời

23

Bạn chỉ cần thả asp: Kiểm soát đăng nhập vào trang của bạn, sau đó nhập mã vào phía sau, nắm bắt sự kiện Xác thực của Kiểm soát đăng nhập.

Trong sự kiện Xác thực, hãy kiểm tra tên người dùng/mật khẩu mà người dùng đã nhập. Tên người dùng/mật khẩu là các thuộc tính trong điều khiển đăng nhập. (Login.UserName, Login.Password)

Nếu tên người dùng/mật khẩu chính xác, chỉ cần đặt sự kiện arg Thuộc tính đã xác thực là True.

Không yêu cầu nhà cung cấp thành viên.

ví dụ: Trong trang aspx ..

<asp:Login ID="LoginCtrl" runat="server" DestinationPageUrl="YouAreIn.aspx"></asp:Login> 

ở Mã Đằng sau

Private Sub Log_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles LoginCtrl.Authenticate 
    If LoginCtrl.UserName = "Hello" AndAlso LoginCtrl.Password = "Hello" Then 
     e.Authenticated = True 
    End If 

C#

void MyLogin_Authenticate(object sender, AuthenticateEventArgs e) 
{ 
    if(UserName == "Hello" && Password == "Hello") 
     e.Authenticated = true; 
} 
+0

+1 - Đó là những gì tôi làm – juan

+2

Ngoài ra, để buộc người dùng truy cập trang đăng nhập, hãy sử dụng xác thực biểu mẫu. –

+0

Nếu chỉ có nó rất dễ dàng. Tôi vừa thử nó và đăng nhập nhảy trực tiếp trở lại trang đăng nhập chứ không phải trang được chuyển hướng từ đó. – BCS

2
+1

Điều đó có thể hiệu quả trong trường hợp của tôi nhưng không trả lời được câu hỏi. – BCS

3

Nếu bạn không có nhà cung cấp thành viên và không thực sự có hệ thống bảo mật để nói, chỉ cần đặt hai hộp trên biểu mẫu (tên người dùng, mật khẩu) và thử nghiệm trong nút onclick của nút.

Kiểm soát đăng nhập rõ ràng là quá mức cần thiết cho những gì bạn đang cố gắng thực hiện.

+0

bạn có thể đúng ... cho bây giờ. Ngoài ra điều đó buộc tôi phải tìm ra cách để đối phó với cookie và chuyển hướng và không có điều gì. – BCS

+0

Tôi không gặp sự cố khi tạo cookie, tôi chưa bao giờ làm việc với nó và không muốn phải học ngay bây giờ. – BCS