Hiện tại tôi đang lưu trữ tài khoản windows của người dùng là nvarchar (10) trong máy chủ sql, đây có phải là cách đúng để lưu trữ tài khoản người dùng không? Loại dữ liệu phải là gì? hoặc thậm chí tôi nên lưu trữ tài khoản người dùng?Tôi nên lưu trữ cửa sổ userid trong cơ sở dữ liệu như thế nào?
Trả lời
Thông tin nhận dạng người dùng Windows NT được gọi là SID, security-identifier. Biểu diễn chuỗi được chỉ định trong SID String Format Syntax và biểu diễn nguyên soái được chỉ định trong SID--Packet Representation. Nếu bạn muốn lưu trữ SID trong cơ sở dữ liệu, hãy sử dụng cùng một biểu diễn như trường sys.databases.owner_sid
: varbinary (85). Để truy xuất SID đăng nhập, sử dụng SUSER_SID
(cũng trả về ... varbinary(85)
).
Cụ làm không cửa sắc như tên đăng nhập (domain\user
hoặc [email protected]
) vì những thay đổi cách thường xuyên hơn bạn mong đợi, đặc biệt trong các tập đoàn lớn. Tôi đã thay đổi khoảng 5 lần trong 10 năm.
Đây là một câu hỏi rất phức tạp.
Về mặt kỹ thuật KHÔNG lưu trữ tên. lưu trữ ID, tình cờ là GUID theo loại nào.
Điều đó có nghĩa là bạn an toàn khi bạn đổi tên tài khoản và đó là những gì WINDOWS có. Bạn đã từng thấy khi nào bạn mở quyền trên một tệp phải mất một giây để hiển thị tên? Và cho thấy một số đầu tiên? Đó là bởi vì các cửa sổ mất một chút để có được tên từ bộ điều khiển miền.
SIMPLE là để lưu trữ tên tài khoản, nhưng điều đó có nghĩa là bạn "chết" khi đổi tên, tỷ lệ này phải khá cao, otoh. Tôi nghĩ rằng hầu hết các giải pháp đi cho điều đó;)
"ID là' GUID' theo loại. " Không cần thiết. Bạn có thể chỉ định 'SID' hoặc' GUID'. 'GUID' sẽ là duy nhất trên nhiều tên miền nếu bạn có một công ty lớn, trong khi' SID' không được bảo đảm là duy nhất trên các tên miền. Nhưng 'SID' tương thích ngược với Windows NT. – GibralterTop
Khi nhận được ID người dùng hiện tại (hãy kiểm tra HERE), char(30)
được sử dụng.
Vì vậy, ít nhất, bạn nên thay đổi độ dài thành 30!
Nó phụ thuộc vào loại dữ liệu trong userid
nếu nó là một id từ một bảng i cơ sở dữ liệu của bạn, sau đó lưu nó theo kiểu dữ liệu trong bảng parant. nếu nó cửa sổ userid sau đó lưu nó như nvarchar nhưng chắc chắn rằng userid logest được cung cấp. như nvarchar (50)
hay nên tôi thậm chí cửa hàng userIds
Trong khi tạo tài khoản mới trong Stack overflow
. Nó chấp nhận người dùng có nghĩa là nó sử dụng Passport Authentication
. Tuy nhiên, nó vẫn giữ thông tin người dùng trong cơ sở dữ liệu về mối quan hệ giữa truy vấn/trả lời/nhận xét/cờ v.v.
Loại dữ liệu phải là gì?
Vâng, tùy thuộc vào yêu cầu của bạn. Trong trường hợp laguage không phải tiếng Anh. Phải là NVarchar(50)
- 1. Hadoop là cơ sở dữ liệu lưu trữ tài liệu
- 2. Tôi có nên lưu trữ hình ảnh trong cơ sở dữ liệu hoặc thư mục không?
- 3. Làm thế nào để lưu trữ dữ liệu đồ thị trong cơ sở dữ liệu?
- 4. Các đối tượng giá trị được lưu trữ trong cơ sở dữ liệu như thế nào?
- 5. Tôi nên làm vệ sinh đầu vào cơ sở dữ liệu bằng Java như thế nào?
- 6. Tôi có nên lưu trữ DateTimes như là một Long (Ticks) trong một cơ sở dữ liệu?
- 7. Tôi nên sử dụng cơ sở dữ liệu nào để lưu trữ hồ sơ và tôi nên sử dụng nó như thế nào?
- 8. Cơ sở dữ liệu được lưu trữ: Độ trễ được xử lý như thế nào?
- 9. Tôi nên lưu trữ chuỗi kết nối cơ sở dữ liệu ở đâu?
- 10. Lưu trữ UUID trong cơ sở dữ liệu HSQLDB
- 11. Tôi nên lưu trữ ảnh ở đâu? Hệ thống tệp hoặc cơ sở dữ liệu?
- 12. Tôi nên sử dụng cơ sở dữ liệu cục bộ nào trong ứng dụng Windows 8
- 13. Tôi nên lưu trữ GUID trong Oracle như thế nào?
- 14. Lưu trữ Chứng chỉ X509 trong cơ sở dữ liệu
- 15. Lưu trữ Enums trong Cơ sở dữ liệu MySQL
- 16. Tôi có nên lưu trữ Hoa Kỳ trong cơ sở dữ liệu của tôi hoặc một mảng PHP?
- 17. Lưu trữ hình ảnh trong cơ sở dữ liệu MongoDB
- 18. Lưu trữ thông tin EXIF trong Cơ sở dữ liệu
- 19. Lưu trữ kích thước tệp trong cơ sở dữ liệu
- 20. Lưu trữ JSON trong cơ sở dữ liệu msSQL?
- 21. Tomcat: Lưu trữ phiên trong cơ sở dữ liệu
- 22. Lưu trữ ASP.Net MVC Views trong cơ sở dữ liệu
- 23. Lưu trữ thông tin OpenID trong cơ sở dữ liệu
- 24. Tại sao Internet Explorer kích hoạt sự kiện "lưu trữ" cửa sổ trên cửa sổ lưu trữ dữ liệu?
- 25. Android - Đâu là cơ sở dữ liệu SQLite lưu trữ
- 26. Lưu trữ dữ liệu tĩnh trong một mảng hoặc trong một cơ sở dữ liệu?
- 27. cách lưu trữ mật khẩu trong cơ sở dữ liệu?
- 28. Lưu trữ ngày giờ UTC trong cơ sở dữ liệu
- 29. Lưu trữ IPv6 trong cơ sở dữ liệu
- 30. Python, lưu trữ một dict trong cơ sở dữ liệu
Theo như tôi hiểu từ câu trả lời, nếu tôi sẽ sử dụng userid để kết nối người dùng với một số quy trình, thì tôi nên sử dụng SID, nhưng nếu tôi sẽ sử dụng userid giống như một nhãn, thì đó là lựa chọn tốt hơn để đi với id người dùng thuần túy vì SID làm cho cơ sở dữ liệu của tôi khó đọc hơn, tôi có đúng không? – HOY
Hiển thị SID cho người dùng là không sử dụng, ngoại trừ quản trị viên. Tuy nhiên, bạn luôn có thể chuyển đổi SID thành tên bằng cách sử dụng ['SUSER_SNAME (sid)'] (http://msdn.microsoft.com/en-us/library/ms174427.aspx) trong T-SQL hoặc sử dụng [SecurityIdentifier. Translate (typeof (NTAccount)) '] (http://msdn.microsoft.com/en-us/library/system.security.principal.securityidentifier.translate.aspx) trong C#. –