Vì vậy, trong trang web học tập đơn giản của tôi, tôi sử dụng hệ thống xác thực ASP.NET được tích hợp sẵn.Tôi có nên sử dụng tên người dùng hoặc ID của người dùng để tham chiếu đến người dùng được xác thực trong ASP.NET
Tôi thêm bây giờ là một bảng dùng để lưu những thứ như zip của mình, DOB, vv Câu hỏi của tôi là:
- Trong bảng mới, nên chìa khóa là tên người dùng (chuỗi) hoặc người dùng ID đó là GUID tìm số họ sử dụng trong
asp_ tables
. - Nếu thực hành tốt nhất là sử dụng hướng dẫn xấu xí đó, có ai biết cách nhận nó không? dường như không thể truy cập dễ dàng như tên (
System.Web.HttpContext.Current.User.Identity.Name
) - Nếu bạn đề nghị tôi không sử dụng (không phải trường hướng dẫn và trường userName do ASP.NET xác thực) thì làm cách nào để thực hiện với xác thực ASP.NET? Một tùy chọn tôi thích là sử dụng địa chỉ email của người dùng làm đăng nhập, nhưng làm thế nào để tôi làm cho hệ thống xác thực ASP.NET sử dụng địa chỉ email thay vì tên người dùng? (Hoặc không có gì để làm ở đó, nó chỉ là tôi quyết định tôi "biết" userName thực sự là một địa chỉ email
Xin lưu ý:
- Tôi không yêu cầu về cách có được một GUID trong NET, tôi chỉ đề cập đến các cột userID trong
asp_ tables
như guid. - tên người dùng độc đáo ở chỗ xác thực ASP.NET.
Vấn đề chính khi sử dụng tên người dùng là nếu người dùng muốn thay đổi tên người dùng của họ vì lý do nào đó. Nếu bạn sử dụng tên người dùng, bạn sẽ phải thực hiện thay đổi cho nhiều bảng thay vì chỉ một. Lưu ý: đưa ra nhận xét này sau đó đọc bên dưới và thấy người khác đã đề cập đến điều này. – percent20
Sự cố tiềm ẩn khác phát sinh khi tên người dùng có thể được sử dụng lại theo thời gian. Ví dụ: giả sử bạn sử dụng tên người dùng trong mô hình ủy quyền tùy chỉnh của mình. Người dùng ASmith được chỉ định làm quản trị viên. Sau đó anh ta rời khỏi công ty và hồ sơ người dùng của anh ta bị xóa. Người dùng mới tham gia công ty và được chỉ định tên người dùng ASmith. Bạn có khả năng chỉ cấp quyền truy cập quản trị viên người dùng đó mà không nhận ra nó. –