System.Security.Principal.WindowsIdentity.GetCurrent().Name 有效
我正在使用 System.Security.Principal.WindowsIdentity.GetCurrent().Name(在我的 web.config 中使用 Windows 身份验证)来获取客户端用户名。
我的问题是,当我将页面放到 Intranet 上时,这段代码是否有效,因为我需要在会话中存储用户名以供以后使用。
我能否使用此代码获取用户用于登录我的页面的用户名?
void Authenticate()
{
string strLogin = null;
try
{
strLogin = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
Session.Add("Login", strLogin);
//Label1.Text = strLogin;
//Label2.Text = System.Environment.UserName;
}
catch (Exception ex)
{
Response.Write(strLogin);
Response.Write("<br/>handled:" + ex.Message.ToString());
Response.End();
}
finally
{
GC.Collect();
}
}
I am using System.Security.Principal.WindowsIdentity.GetCurrent().Name
(with windows authentication in my web.config) to get the client username.
My question is whether this code works when I put the page onto the intranet, because I need to store the username within the session for later use.
Will I be able to get the username the user used to log into my page using this code?
void Authenticate()
{
string strLogin = null;
try
{
strLogin = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
Session.Add("Login", strLogin);
//Label1.Text = strLogin;
//Label2.Text = System.Environment.UserName;
}
catch (Exception ex)
{
Response.Write(strLogin);
Response.Write("<br/>handled:" + ex.Message.ToString());
Response.End();
}
finally
{
GC.Collect();
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要将应用程序配置为模拟正在访问它的 Windows 用户,方法是在 Web.Config 中的身份验证元素后添加以下元素:
如果未将 impersonate 设置为 true,则工作进程将作为网络服务或 ASPNET 运行帐户,具体取决于您的 IIS 版本。
You will need to configure the application to impersonate the Windows user who is accessing it by adding the following element after the authentication element in the Web.Config:
If you do not set impersonate to true then the worker process runs as the Network Service or ASPNET account, depending on your version of IIS.
是的。 它也适用于 Page.User.Identity.Name
Yes. and it also works in Page.User.Identity.Name
如果您的用户登录您的网站,您可以通过 Page.User.Identity.Name 获取当前用户的名称。
If your users logon on your website, the you can get the name of the current user with Page.User.Identity.Name.