PDA

View Full Version : به دست آوردن user name کاربر



sajad_boj70
سه شنبه 22 تیر 1395, 19:00 عصر
سلام.
دوستان من میخوام user name (نام کاربری که وارد ویندوز شده یا همون user account) کاربر رو بگیریم.
برای این کار از این دستور استفاده میکنم :


string currentUser = Environment.UserName;


که در لوکال جواب میده اما وقتی وب سایتم رو آپلود میکنم روی iis جواب نمیده و به جای یوزر نیم کاربر اسم فایلی که پروژه ام رو تو iis آپلود کردم به علاوه $ نمایش میده.
من وب سایتم رو با نام webserver در iis ذخیره کردم و این کد $webserver رو برمیگردونه.
به این صفحات هم سری زدم اما راهکارهای مطرح شده در اونجا هم جواب نمیده.

http://forums.asp.net/t/1179997.aspx?Get+Username+for+logged+in+user
http://forums.asp.net/t/1169026.aspx
http://stackoverflow.com/questions/19676312/how-to-get-user-name-using-windows-authentication-in-asp-net
http://stackoverflow.com/questions/6615680/asp-net-getting-current-user-name
http://stackoverflow.com/questions/5417125/how-to-get-current-user-whos-accessing-asp-net-app
http://stackoverflow.com/questions/5417125/how-to-get-current-user-whos-accessing-asp-net-app
http://stackoverflow.com/questions/16184685/how-do-i-get-the-currently-loggedin-windows-account-from-an-asp-net-page
http://stackoverflow.com/questions/32480583/cannot-get-username-when-hosted-on-iis7-using-system-environment-username
http://forums.asp.net/t/1121780.aspx?Getting+a+users+DOMAIN+username+from+ a+web+application

kamranetemadi
چهارشنبه 23 تیر 1395, 00:06 صبح
بهتره که زمان لاگین اونو توی سشن ذخیره کنید

amir_T_2008
چهارشنبه 23 تیر 1395, 06:11 صبح
از کدهای زیر استفاده الگو بگیرید




e.Command.Parameters["@Username"].Value = Page.User.Identity.Name;







string username = HttpContext.Current.User.Identity.Name;

if (!string.IsNullOrEmpty(username))
{
MembershipUser currentUser = Membership.GetUser(username);
Guid currentUserId = new Guid(currentUser.ProviderUserKey.ToString());
e.Command.Parameters["@UserId"].Value = currentUserId;
}

sajad_boj70
پنج شنبه 24 تیر 1395, 17:33 عصر
از کدهای زیر استفاده الگو بگیرید




e.Command.Parameters["@Username"].Value = Page.User.Identity.Name;







string username = HttpContext.Current.User.Identity.Name;

if (!string.IsNullOrEmpty(username))
{
MembershipUser currentUser = Membership.GetUser(username);
Guid currentUserId = new Guid(currentUser.ProviderUserKey.ToString());
e.Command.Parameters["@UserId"].Value = currentUserId;
}




متاسفانه جواب نداد. دوستان نظر دیگه ای ندارند؟

shahram hosseini
یک شنبه 27 تیر 1395, 10:50 صبح
string IP = Request.UserHostName;
Label1.Text = IP.ToString();
Label2.Text = DetermineCompName(IP);

ahmad.hamed32
چهارشنبه 30 تیر 1395, 10:55 صبح
دوستان منم این مشکل رو دارم
در این لینک نحوه انجام این کار توضیح داده شده

http://forums.asp.net/t/1179997.aspx

و گفته شده باید anonymous authentication رو غیر فعال(disiable) کنیم و windows authentication رو فعال (enable) و همچنین identityimpersonate رو true
ولی وقتی این کار ها رو انجام میدم موقع اجرای سایت ازم user و password میخواد!!!

ahmad.hamed32
چهارشنبه 30 تیر 1395, 10:56 صبح
دوستان در این تاپیک نحوه بدست آوردن username کاربر در host یا iis مطرح شده نه در لوکال.

amir_T_2008
پنج شنبه 31 تیر 1395, 04:35 صبح
اگر از Sqldatasource استفاده میکنید




protected void SqlDataSource1_Inserting(object sender, SqlDataSourceCommandEventArgs e)
{
e.Command.Parameters["@Username"].Value = Page.User.Identity.Name;

}




اگر از c#



string s2 = System.Web.HttpContext.Current.User.Identity.Name;




SqlConnection con = new SqlConnection(connStr);


com = new SqlCommand("insert into tSells(Username) values ( '" + s2 + "' )", con);


con.Open();

com.ExecuteNonQuery();

con.Close();




درضمن من خودم از هر 2 کد ها استفاده میکنم و بدون مشکل هستش

sajad_boj70
پنج شنبه 31 تیر 1395, 18:06 عصر
اگر از Sqldatasource استفاده میکنید




protected void SqlDataSource1_Inserting(object sender, SqlDataSourceCommandEventArgs e)
{
e.Command.Parameters["@Username"].Value = Page.User.Identity.Name;

}




اگر از C#‎



string s2 = System.Web.HttpContext.Current.User.Identity.Name;




SqlConnection con = new SqlConnection(connStr);


com = new SqlCommand("insert into tSells(Username) values ( '" + s2 + "' )", con);


con.Open();

com.ExecuteNonQuery();

con.Close();




درضمن من خودم از هر 2 کد ها استفاده میکنم و بدون مشکل هستش


سلام.ممنون از پاسختون.
این کدها در لوکال درست کار میکنه و به قول شما بدون مشکل هستش اما در شبکه و iis جواب نمیده

amir_T_2008
جمعه 01 مرداد 1395, 05:32 صبح
سلام.ممنون از پاسختون.
این کدها در لوکال درست کار میکنه و به قول شما بدون مشکل هستش اما در شبکه و iis جواب نمیده

ربطی نداره من در هاست هم استفاده می کنم بدون مشکل

sajad_boj70
جمعه 01 مرداد 1395, 20:13 عصر
ربطی نداره من در هاست هم استفاده می کنم بدون مشکل

اما من دقیقا از همین کد شما استفاده میکنم و جواب نمیده.
ببینید دوست من ، من میخوام username ویندوز کاربر رو یا همون user account رو بدست بیارم نه نام کاربری وارد شده به سایتم رو

amir_T_2008
شنبه 02 مرداد 1395, 01:56 صبح
اما من دقیقا از همین کد شما استفاده میکنم و جواب نمیده.
ببینید دوست من ، من میخوام username ویندوز کاربر رو یا همون user account رو بدست بیارم نه نام کاربری وارد شده به سایتم رو

آهان حالا سوالتونو خوب مطرح کردید بله این کد به درد اون کار نمیخوره اگر مسئله ای مربوط به کار شما پیدا کردم قرار میدم

sajad_boj70
یک شنبه 03 مرداد 1395, 22:10 عصر
تو این لینک توضیحاتی داده ولی با انجام این کارها هم جواب نمیگیرم
http://stackoverflow.com/questions/5417125/how-to-get-current-user-whos-accessing-asp-net-app