asp.net 编写的webform如何实现域账户的自动登录

octoberss 2017-03-17 07:33:32
大家好,新人小白遇到了问题,说下背景:
开发了一个webform测试小项目,在公司的内网环境下,部署到其中一台域环境下机器的IIS7 上。作为服务器的机器和和要访问该网页的用户在同一个域里。 如何实现该系统的域账号直接登陆?

我做了什么:
1-在本地VS测试下,已经通过代码实现了获取域账号,事件代码我是随便建立网页写进后台cs文件里的。
2-查找了一些资料,了解了需要配置web.config 文件。 比如windows 验证,取消匿名验证等。
3-访问该网站时候,不再转入初始页面,而是进到 Account/Login.aspx页面,获得报错如下:
请求筛选模块被配置为拒绝包含的查询字符串过长的请求
http://localhost:5285/Account/Login?ReturnUrl=%2FAccount.........(报错页面在login页面上)............

我的疑问: 我该把获取域账号的代码写在项目的哪里?我的理解是,设置取消匿名登陆时候,网站会自动转到login页面进行验证,我上面的报错就是没有验证成功的结果,那我验证代码写在哪里?我只要获取域账号名就可以,无需验证密码。只是让这个网站记录当下谁访问着呢。
同时,如果后续验证成功如何让母板页一尺显示该用户名?

个人自学,基础不扎实,不吝赐教。
...全文
378 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wrzs 2019-12-13
  • 打赏
  • 举报
回复
我感觉这部分需要在数据库中初始化账户,登录成功后利用这个账号和数据库中的账号匹配,然后根据数据库的权限等做相应操作。
octoberss 2017-03-17
  • 打赏
  • 举报
回复
放一下自己测试时候写的获取域账户代码:(我是测试建立了webform page ,然后再后台写的)
 WindowsPrincipal wp = new WindowsPrincipal(WindowsIdentity.GetCurrent());
            string[] logon = wp.Identity.Name.Split('\\');
            string UserDomain = logon[0];//网域
            Lb_User.Text = logon[1].ToString().ToLower();//登陆域用户
这个是能获取域账号,但是不知道如何应用到整个网站上,写到哪里不知道。

62,074

社区成员

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

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

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

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