Asp.net 获取客户端windows登录用户名的问题

qdfeitian 2012-08-02 08:35:19
网站主要有两部分人登录,有域账户的和没有域账户的,有域账户的人员只要以域用户登录了计算机,访问网站时希望自动登录,不需要输入用户名密码;没有域账户的人员访问网站时希望也能够访问(有权限限制),希望不弹出登录框。

在网上找了很多资料,说是设为 Windows集成身份认证,这样的话针对域用户可以使用System.Web.HttpContext.Current.User获取到; 但对域账户的人员来说,就没有办法访问网站了,请高人指点我这样的需求该如何解决?
...全文
371 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdfeitian 2012-10-23
  • 打赏
  • 举报
回复
不好意思,好久没来了,谢谢各位的赐教
孟子E章 2012-08-08
  • 打赏
  • 举报
回复
服务器设置权限可以参考这个图
http://www.adopenstatic.com/faq/IISRequestProcessing.aspx

孟子E章 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 6 楼 的回复:

3种方法

1) System.Security.Principal.WindowsPrincipal p = System.Threading.Thread.CurrentPrincipal as System.Security.Principal.WindowsPrincipal;

string strName = p.Identity.Name;
……
[/Quote]

不在域中的访问时,服务器上的文件权限是怎么设置的?允许任何类型的访问者访问吗?
cotya520 2012-08-08
  • 打赏
  • 举报
回复
我也有个疑问。。我用虚拟机建了个ASP站点!!然后用127.0.0.1这个IP打开。。提示需要 用户名密码的?
qdfeitian 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

3种方法

1) System.Security.Principal.WindowsPrincipal p = System.Threading.Thread.CurrentPrincipal as System.Security.Principal.WindowsPrincipal;

string strName = p.Identity.Name;

2) string str……
[/Quote]

域账号是没有问题的,配置后自动就登录了,不会弹出登录框; 不在域中的访问时,首先是通不过验证的,随后就弹出登录框
孟子E章 2012-08-02
  • 打赏
  • 举报
回复
3种方法

1) System.Security.Principal.WindowsPrincipal p = System.Threading.Thread.CurrentPrincipal as System.Security.Principal.WindowsPrincipal;

string strName = p.Identity.Name;

2) string strName = HttpContext.Current.User.Identity.Name;
3) string strName = Request.ServerVariables["AUTH_USER"];

如果iis启用匿名访问,则不会发送客户端登录名的,所以必须取得匿名访问,采用集成访问

对于域帐号,应该在文件夹或者文件上设置ACL访问权限,如果允许访问,则不会弹出登录框的,如果弹出了登录框,说明服务器没配置好。
qdfeitian 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

网站的权限验证为什么会要和客户机有联系?
b/s结构也没有办法在服务器知道当前访问网站的用户到底是是不是域用户
[/Quote]
我用客户机的登录名和登录的域去域服务器验证,如果通过就展示需要权限的模块,没有通过就仅显示不需要权限的模块
  • 打赏
  • 举报
回复
网站的权限验证为什么会要和客户机有联系?
b/s结构也没有办法在服务器知道当前访问网站的用户到底是是不是域用户

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧