Hướng dẫn javascript get windows username without activex - javascript lấy tên người dùng windows mà không cần activex

0

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có thể lấy tên máy khách của máy khách trong ASP.NET được lưu trữ trong máy chủ từ xa mà không cần sử dụng đối tượng ActiveX không?

Tôi đã sử dụng mã sau

        Response.Write["HttpContext.Current.Request.LogonUserIdentity.Name  " & HttpContext.Current.Request.LogonUserIdentity.Name]
        Response.Write["
"] Response.Write["HttpContext.Current.Request.IsAuthenticated " & HttpContext.Current.Request.IsAuthenticated] Response.Write["
"] Response.Write["HttpContext.Current.User.Identity.Name " & HttpContext.Current.User.Identity.Name] Response.Write["
"] Response.Write["System.Environment.UserName " & System.Environment.UserName] Response.Write["
"] Response.Write["Security.Principal.WindowsIdentity.GetCurrent[].Name[] " & System.Security.Principal.WindowsIdentity.GetCurrent[].Name[]] Response.Write["
"]

Nhưng nó luôn cho tôi tên người dùng máy chủ chứ không phải tên người dùng máy khách.

Hỏi ngày 14 tháng 10 năm 2014 lúc 12:12Oct 14, 2014 at 12:12

5

Bạn có thể cố gắng sử dụng ServerVariables

string Hostname=Request.ServerVariables["REMOTE_HOST"];
string Username=Request.ServerVariables["REMOTE_USER"];

Đã trả lời ngày 14 tháng 10 năm 2014 lúc 13:07Oct 14, 2014 at 13:07

1

Dòng này sẽ hoạt động nếu bạn đang sử dụng "Xác thực Windows"

Response.Write["HttpContext.Current.User.Identity.Name " & HttpContext.Current.User.Identity.Name]

Tham khảo: MSDN

Đã trả lời ngày 14 tháng 10 năm 2014 lúc 13:59Oct 14, 2014 at 13:59

AmmaroffammaroffAmmaroff

9247 Huy hiệu bạc21 Huy hiệu đồng7 silver badges21 bronze badges

  • 15 tháng 10 '07 #15

  • Quá muộn để giúp Abhishekitb, nhưng nó có thể được sử dụng bởi những người khác hỏi cùng một câu hỏi.

  • Hi,

    Ngay cả khi các biến môi trường hoạt động tốt, như Neopa đã nói, điều này cũng hoạt động:

    Mở rộng | Chọn | Wrap | Số dòng

    var & nbsp; actx = new & nbsp; activeXObject ["wscript.network"];

    cảnh báo [actx.username];

    Lưu ý rằng theo cách tương tự, bạn có thể lấy máy tính và tên miền.

    var objUserInfo = new ActiveXObject["WScript.network"]; var uname = objUserInfo.UserName;

    The above code is working in IE 11 but not working in Microsoft Edge browser in window 10.

    Please help me how can achieve the above requirement in edge browser in window 10

Xin chào., Tôi không biết làm thế nào để lấy tên người dùng windows bằng javascript .. ai đó có thể giúp tôi không ..
i dont know how to get windows username using javascript..
can someone help me please..

Cảm ơn bạn trước,

14 tháng 3 '07 #1

acoder

16.027 Chuyên gia8TB Expert Mod 8TB

Chào mừng bạn đến với TSDN.

JavaScript dành cho kịch bản trình duyệt phía máy khách. Nó không nên làm gì với hệ điều hành. Đó sẽ là một lỗ hổng bảo mật lớn nếu JavaScript có thể truy cập tên người dùng Windows.

14 tháng 3 '07 #2

Xin chào., Có thể truy cập tên người dùng Windows bằng javascripts. Nhưng tôi không biết điều đó. ai đó giúp tôi được không, làm ơn.
It's possible to access the windows username using javascripts.
but i dont know that.
can anybody help me please.

Ngày 15 tháng 3 '07 #3

acoder

16.027 Chuyên gia8TB Expert Mod 8TB

Chào mừng bạn đến với TSDN.

JavaScript dành cho kịch bản trình duyệt phía máy khách. Nó không nên làm gì với hệ điều hành. Đó sẽ là một lỗ hổng bảo mật lớn nếu JavaScript có thể truy cập tên người dùng Windows.

14 tháng 3 '07 #2

Neopa

32.405 Chuyên giaMod16pb Expert Mod 16PB

Mọi người tìm thấy những chủ đề này tất cả thời gian Eldann, vì vậy Abhishekitb không được hưởng lợi không phải là kết thúc của thế giới. Vẫn đáng để đăng :-]
PS. As environment variables are amendable by the user, this is not a 100% reliable way to get this but it works fine in most circumstances.

Ngày 29 tháng 3 năm 14 #17

Đăng nhập để đăng câu trả lời của bạn hoặc đăng ký tài khoản miễn phí.

Xin chào., Tôi không biết làm thế nào để lấy tên người dùng windows bằng javascript .. ai đó có thể giúp tôi không .. Expert Mod 4TB

Cảm ơn bạn trước,

14 tháng 3 '07 #1

acoder

16.027 Chuyên gia8TB

Neopa

32.405 Chuyên giaMod16pb Expert Mod 16PB

Mọi người tìm thấy những chủ đề này tất cả thời gian Eldann, vì vậy Abhishekitb không được hưởng lợi không phải là kết thúc của thế giới. Vẫn đáng để đăng :-]
If you think my post is inappropriate then please feel free to delete it. This is not my area of expertise so I may have stumbled in where I shouldn't have.

Ngày 29 tháng 3 năm 14 #17

acoder

16.027 Chuyên gia8TB Expert Mod 8TB

Chào mừng bạn đến với TSDN.

JavaScript dành cho kịch bản trình duyệt phía máy khách. Nó không nên làm gì với hệ điều hành. Đó sẽ là một lỗ hổng bảo mật lớn nếu JavaScript có thể truy cập tên người dùng Windows.

14 tháng 3 '07 #2

Đăng nhập để đăng câu trả lời của bạn hoặc đăng ký tài khoản miễn phí.

Xin chào., Tôi không biết làm thế nào để lấy tên người dùng windows bằng javascript .. ai đó có thể giúp tôi không .. Expert Mod 4TB

Cảm ơn bạn trước,

14 tháng 3 '07 #1

acoder

16.027 Chuyên gia8TB

Neopa

32.405 Chuyên giaMod16pb Expert Mod 16PB

JavaScript dành cho kịch bản trình duyệt phía máy khách. Nó không nên làm gì với hệ điều hành. Đó sẽ là một lỗ hổng bảo mật lớn nếu JavaScript có thể truy cập tên người dùng Windows.

14 tháng 3 '07 #2
I've used VBA and a little VBScript. They ARE similar. I'd just assumed the relationship was similar for Java & JavaScript.

Xin chào., Có thể truy cập tên người dùng Windows bằng javascripts. Nhưng tôi không biết điều đó. ai đó giúp tôi được không, làm ơn.

acoder

16.027 Chuyên gia8TB Expert Mod 8TB

14 tháng 3 '07 #2
I've used VBA and a little VBScript. They ARE similar. I'd just assumed the relationship was similar for Java & JavaScript.

Xin chào., Có thể truy cập tên người dùng Windows bằng javascripts. Nhưng tôi không biết điều đó. ai đó giúp tôi được không, làm ơn.

Ngày 15 tháng 3 '07 #3

Làm thế nào bạn có thể chắc chắn là có thể trừ khi bạn đã nhìn thấy nó? Cho tôi xem một ví dụ.

Khả năng duy nhất tôi có thể nghĩ đến là thông qua ActiveX [nếu thậm chí đó].

Ngày 15 tháng 3 '07 #4

Tôi e rằng tôi không biết gì về JavaScript [ngoại trừ tôi đoán có một số điểm tương đồng với Java;]] nhưng tôi biết rằng tên người dùng Windows luôn được đặt trong biến môi trường "Tên người dùng". Điều đó có thể giúp nếu bạn có quyền truy cập vào môi trường trong mã JavaScript của mình. PS. Vì các biến môi trường có thể sửa đổi bởi người dùng, đây không phải là cách đáng tin cậy 100% để có được điều này nhưng nó hoạt động tốt trong hầu hết các trường hợp.

Tôi đang tìm kiếm những cách có thể để tự mình làm điều này để tự động xác thực trên mạng nội bộ.

Tôi có một vài giải pháp khả thi, nhưng cả hai đều có vấn đề. Tôi sẽ cho bạn biết nếu tôi nghĩ ra điều gì đó tốt hơn, nhưng những ý tưởng này có thể giúp người khác đưa ra một cái gì đó.

Giải pháp 1: Sử dụng điều khiển ActiveX hoặc cố gắng lấy tập lệnh Visual Basic trong một trang để có biến môi trường.
Use an ActiveX control, or try to get a visual basic script in a page to get the environment variable.

Vấn đề: Khả năng tương thích của Trình duyệt chéo - Nó chỉ hoạt động trong Internet Explorer [ví dụ như điều này sẽ không hoạt động trong Firefox]. Ngoài ra, bạn cần nhấp vào thanh công cụ lên trên cùng để cho phép điều khiển hoạt động. Tôi không thích những thứ này. Một trong những nguyên tắc thiết kế khóa phần mềm/hệ thống của tôi là "người dùng là ngu ngốc". Dựa trên nguyên tắc này, giả sử người dùng sẽ không nhấp vào thanh công cụ đó hoặc sẽ nhấp vào khối.

Giải pháp 2: Viết cookie từ Windows khi người dùng đăng nhập các chi tiết của người dùng, sau đó lấy trang web truy xuất dữ liệu từ cookie đó.
Write a cookie from Windows when the user logs in with the user's details, then get the web page retrieve the data from that cookie.

Vấn đề: Trình duyệt chéo và các vấn đề hệ điều hành. Firefox có cookie ở một vị trí khác với IE, v.v ... Thậm chí tệ hơn, Firefox trên Vista thậm chí còn có một vị trí khác để Firefox trên XP, v.v. Và ngay khi bạn làm việc, một cái gì đó mới sẽ xuất hiện để làm hỏng tất cả. Ngoài ra, một số người dùng có thể đặt các hạn chế cookie, điều này có thể gây ra vấn đề.
Cross browser and operating system issues. Firefox has cookies in a different location to IE etc. Even worse, Firefox on Vista even has a different location to Firefox on XP etc. And just when you get it working, something new will come out to mess it all up again. Also, some users may put cookie restrictions on, which may cause issues.

Bất kỳ suy nghĩ? Tôi sẽ tiếp tục nghĩ về những cách để làm điều đó, nhưng một cách tiếp cận khác với bất cứ điều gì vấn đề là có thể là tốt nhất.

Chris Fry

15 tháng 10 '07 #12

Gits

5.390 Chuyên giaMod4TB Expert Mod 4TB

Chào ...

Trong trường hợp đó là môi trường mạng nội bộ và bạn có thể có quyền kiểm soát các trình duyệt và cài đặt bảo mật của nó và hạn chế chúng theo nhu cầu của bạn ... sau đó bạn chỉ cần hỗ trợ một giải pháp, hãy nói phiên bản IE với ActiveX. Bạn cũng có thể cố gắng để có được đặc quyền Mozilla được nâng cao Trình duyệt họ muốn và bất kỳ cài đặt bảo mật nào họ muốn ... Tôi nghĩ bạn sẽ gặp nhiều vấn đề hơn sau đó để nó như ... với một mạng nội bộ riêng biệt tôi đoán tôi đoán. Người dùng muốn đăng nhập bằng Windows Auth 'nên' sử dụng 'trình duyệt' của bạn ... và OHERS phải login ... bạn không thể có một cách chung ... vì mọi trình duyệt đều sử dụng chi tiết cụ thể của riêng mình. .. Thế còn opera? ... hay safari? ... Trong trường hợp bạn có thể hạn chế sử dụng một trình duyệt cụ thể, bạn có thể gặp may mắn với cách tiếp cận của mình ... trong trường hợp bạn không thể ... thì tôi nghĩ đó sẽ là một câu chuyện không bao giờ xảy ra ...:config and allow mozilla to access os things, probably you need a security certificate at the serverside etc. ... but in case you want the users to have whatever browser they want and whatever security-settings they want ... i think you will have more problems then leaving it as it is ... with a seperate intranet-login i guess. users that want to be logged in with ther windows auth 'should' use 'your' browser ... and the ohers have to re-login ... you cannot have a generic way ... since every browser uses its own specifics ... what about opera? ... or safari? ... in case you could restrict to the use of a specific browser you may have luck with your approach ... in case you could not ... then i think it will be a neverending story ...

Trân trọng

15 tháng 10 '07 #13

Hãy thử điều này, nó sẽ hoạt động
Its should work

var wshshell = new ActiveXObject ["wscript.shell"]; var username = wshshell.ExpandENVILInmentsTrings ["%người dùng AME%"];
var username=wshshell.ExpandEnvironmentStrings["%usern ame%"];

15 tháng 10 '07 #14

Neopa

32.405 Chuyên giaMod16pb Expert Mod 16PB

Hãy thử điều này, nó nên workexpand | Chọn | Wrap | Số dòng
Its should work

Expand|Select|Wrap|Line Numbers

  1. var wshshell=new ActiveXObject["wscript.shell"];
  2. var & nbsp; username = wshshell.ExpandEnvirmentsTrings ["%tên người dùng%"];

Hãy nhớ rằng trong khi % tên người dùng % là tốt để nhận dạng đơn giản [xin chào Mr Jones], nó thường không nên được sử dụng cho mục đích bảo mật. Rất ít người dùng hiện nay không biết chữ máy tính đến nỗi họ không biết cách thay đổi biến môi trường, đó là tất cả những gì cần có để nhầm lẫn mã đó để coi bạn là người quản lý hoặc Giám đốc điều hành của công ty. * Chỉnh sửa* Thật ra chúng không hiếm như thế. Tuy nhiên, phương pháp này nên được xử lý một cách thận trọng vì có một phương pháp khá đơn giản để đánh bại nó.
*EDIT*
Actually they are not as rare as that. Nevertheless, this method should be treated with caution as there is a fairly straightforward method to beat it.

15 tháng 10 '07 #15

Quá muộn để giúp Abhishekitb, nhưng nó có thể được sử dụng bởi những người khác hỏi cùng một câu hỏi.abhishekitb, but it can be used by somebody else who asks the same question.

Ngay cả khi các biến môi trường hoạt động tốt, như Neopa đã nói, điều này cũng hoạt động:NeoPa said, this works too :

Mở rộng | Chọn | Wrap | Số dòng|Select|Wrap|Line Numbers

  1. var & nbsp; actx = new & nbsp; activeXObject ["wscript.network"];
  2. cảnh báo [actx.username];

Lưu ý rằng theo cách tương tự, bạn có thể lấy máy tính và tên miền.

Mở rộng | Chọn | Wrap | Số dòng|Select|Wrap|Line Numbers

  1. var & nbsp; actx = new & nbsp; activeXObject ["wscript.network"];
  2. cảnh báo [actx.username];

Lưu ý rằng theo cách tương tự, bạn có thể lấy máy tính và tên miền.

cảnh báo [actx.computerName];

Neopa

32.405 Chuyên giaMod16pb Expert Mod 16PB

Hãy thử điều này, nó nên workexpand | Chọn | Wrap | Số dòng

var & nbsp; username = wshshell.ExpandEnvirmentsTrings ["%tên người dùng%"];

Hãy nhớ rằng trong khi % tên người dùng % là tốt để nhận dạng đơn giản [xin chào Mr Jones], nó thường không nên được sử dụng cho mục đích bảo mật. Rất ít người dùng hiện nay không biết chữ máy tính đến nỗi họ không biết cách thay đổi biến môi trường, đó là tất cả những gì cần có để nhầm lẫn mã đó để coi bạn là người quản lý hoặc Giám đốc điều hành của công ty. * Chỉnh sửa* Thật ra chúng không hiếm như thế. Tuy nhiên, phương pháp này nên được xử lý một cách thận trọng vì có một phương pháp khá đơn giản để đánh bại nó.

Bài Viết Liên Quan

Chủ Đề