在创建Web应用程序的时候,我们会使用一些身份验证,这时我们可能需要在后台代码中获取用户的用户名和密码。
比如我们在Web.config中设定使用windows身份验证
<authentication mode="Windows"/>
然后配合IIS的身份验证。在IIS的站点中设置为基本身份验证。执行基本身份验证的时候,需要输入用户名和密码。这样就可以通过以下代码获取用户名和密码了。
访问页面输入用户名的时候可以输入域名加用户名,也可以只输入用户名。如果只输入用户名,则User.Identity.Name和Request.LogonUserIdentity.Name获取的值为机器名加用户名,userName = login.Split(':')[0]获取的只是用户名。
如果输入的是域名加用户名的方式,则获取的结果是一样的都是域名加用户名,格式可能不一样。比如输入test@contoso,则User.Identity.Name和Request.LogonUserIdentity.Name获取的值为contoso/test,而userName = login.Split(':')[0]获取的为test@contoso.
如果在Web.config中设定身份验证为None,则User.Identity将无法获取用户信息。