问题描述
- 如何获取客户端当前登录的用户名和域名?
- 需求 : 公司网站,让普通用户访问前台页面,公司域中的用户能访问后台页面。
实现过程的问题:取到用户名和域名,和当前配置的域名和用户名比较,来控制网站后台的访问。
背景:1.网站是个Orchard框架搭的,客户端环境是WIN7+IE,服务端是IIS(**这里我是在我机器上部署,让同事访问去测试的,如果是直接运行代码调试的话,一切正常。。。**)。
尝试过的方法:
1.**Request.LogonUserIdentity.User**,这个取到的是服务器的SID。。。然后**Request.LogonUserIdentity.Name**这个取到的是“IIS APPPOOLASP.NET v4.0”这个值。。。
2.**HttpContext.Current.User.Identity.Name**这个取到的是网站登录用户的用户名。
3.**System.Environment.UserDomainName.ToString()**,这个取到的是“IIS APPPOOL”;**System.Environment.UserName.ToString()**,这个取到的是“ASP.NET v4.0”。
4.**IPGlobalProperties.GetIPGlobalProperties().DomainName**这个也是取到的服务器的域名。。
目前思路:
1.我在想是不是因为IIS身份验证配置的问题,IIS我用的是默认配置,启用了匿名身份验证和form身份验证。是不是禁用了匿名身份验证然后启用windows身份验证就行了?但是一般客户就不能访问了吧。。。
2.Orchard中是否有这个功能,因为刚接触Orchard,加上自己是个新手,并不是很能看懂源代码和它的运作机制(国内的文档好少,Orchard官网也是直接在连接后面加""/admin""就能够访问后台了)。
希望有经验的能帮我一下。。。
解决方案
不可能,安全问题b/s做不了,这个和c/s模式不一样。你这种要求和获取你硬盘上x片传到服务器功能差不多了,你说可能吗
时间: 2023-09-20