Tôi sẽ tiếp tục và liệt kê lựa chọn thay thế của mình tại đây. Tôi đã cuộn thư viện xác thực của riêng mình và tôi nghĩ nó đủ tuyệt vời để được phát hành công khai ... Vì vậy, tôi đã làm. Nó được thiết kế để tránh xa con đường của bạn và tổng thể, nó khá tối giản. Tôi không cung cấp nhiều điều khiển của người dùng hộp, nhưng trên hầu hết các trang web tôi đã nhìn thấy các điều khiển người dùng được tích hợp này sẽ không bao giờ được sử dụng.Vì vậy, thay vì cố gắng tạo các điều khiển người dùng linh hoạt hơn, tôi đã quyết định thay thế để làm cho nó trở nên đơn giản để tạo các điều khiển đăng nhập của riêng bạn và như vậy.
Dự án được gọi là Nhanh, An toàn và Xác thực ngắn gọn hoặc viết tắt là FSCAuth. Nó được cấp phép BSD. Bạn có thể tải xuống tại số Binpress hoặc tại Bitbucket
Mô hình "UserStore" linh hoạt (tương đương với nhà cung cấp của Biểu mẫu) cho phép bạn tạo cơ sở dữ liệu theo ý bạn muốn. Nó có thể hỗ trợ các tệp văn bản thuần túy, XML, MongoDB, Sql Server và bất kỳ nơi nào ở giữa.
Dưới đây là một danh sách những thứ mà tôi nghĩ rằng nó đặc biệt vượt trội so với hình thức xác thực:
- Stateless Hệ thống xác thực. Không có yêu cầu để theo dõi các phiên người dùng trong cơ sở dữ liệu hoặc bộ nhớ. Điều này làm cho nó tầm thường để mở rộng lên nhiều máy chủ yêu cầu ít (nếu có) thay đổi mã xác thực của bạn
- Sử dụng bất kỳ thứ gì làm ID duy nhất cho mỗi người dùng. Đúng vậy, không còn GUID nào nữa! Mọi thứ phù hợp trong chuỗi là trò chơi công bằng
- Xác thực cơ bản HTTP được bật. Bạn có thể bật Xác thực cơ bản ngay trên các trang bạn muốn (hoặc trên toàn cầu) và bạn có thể thực hiện các cuộc gọi giống như đang sử dụng cookie dựa trên điển hình xác thực
- Khó thực hiện không an toàn. Bởi vì nó hoạt động như thế nào và tôi để ít mã cốt lõi nhất có thể cho người dùng cuối để thực sự thực hiện xác thực, nó cực kỳ an toàn và sẽ vẫn như vậy trừ khi bạn thực sự cố gắng phá vỡ nó. Tôi xử lý cookie, Xác thực cơ bản HTTP và tất cả băm. Bạn chỉ cần cung cấp cho FSCAuth một cơ sở dữ liệu để đặt nó vào.
- BCrypt hỗ trợ cho băm là tầm thường. How to do it.. Trong hình thức xác thực nó là almost not possible
- Tôi thích nó :)
Tất nhiên nó cũng thiếu, và phải công bằng tôi sẽ bao gồm một vài điều mà đang thiếu
- xác thực các tập tin tĩnh trong IIS 6 là không thể (chưa)
- Không có phòng chống bạo lực (chưa). Điều này có nghĩa là bạn sẽ cần đảm bảo rằng cùng một người không cố gắng truy cập trang đăng nhập của bạn 200 lần trong 2 giây.
- Nó không được xây dựng vào ASP.Net
- Không Windows hoặc chứng thực hộ chiếu (với không có kế hoạch bao giờ thêm)
Nếu bạn tạo người dùng mới nó cũng sẽ tạo ID mới cho nó, phải không? Không tốt nếu người dùng đã được tham chiếu bởi các bảng khác. – XOR
Không, nhưng khá đơn giản để sửa chữa trong phương pháp của bạn cho "thay đổi" tên người dùng. – JoshJordan