仅使用用户名的 ASP.NET 表单身份验证

发布于 2024-07-07 08:02:33 字数 403 浏览 8 评论 0原文

我的情况有些复杂。 我正在编写一个 Intranet asp.net Web 应用程序。 我不想使用完整的 Windows 身份验证,因为我没有在 Active Directory 中设置适当的组,以便能够仅根据用户所在的组对用户进行身份验证。到目前为止,我已经创建了一个成员资格数据库,并根据用户的 NT 登录名手动验证用户身份。 该应用程序变得越来越复杂,我正在考虑使用会员资格和角色提供程序来对用户进行身份验证。 这是我的问题:我希望能够仅根据用户的 NT 对用户进行身份验证,但我不想使用 Windows 身份验证。 我想编写自己的提供程序来插入成员资格和角色提供程序,并使用表单身份验证,但使其透明。 基于用户表,我希望能够仅根据用户的 NT 对用户进行身份验证或重定向他们。 这是可能的,还是我必须编写自己的小框架来完成此任务? 如果可能的话,我想利用提供者框架。

I have a bit of a hybrid situation on my hands. I'm writing an intranet asp.net web app. I don't want to use full blown Windows Authentication, because I don't have proper groups set up in Active Directory to be able to authenticate users simply based on what group they are in. Up until now, I had created a membership database, and was manually authenticating users based on their NT Login. The app is getting more complex, and I'm looking at using the Membership and Roles providers to authenticate users. Here's my issue: I want to be able to authenticate users just based on their NT, but I don't want to use Windows Authentication. I want to write my own provider to plug into the membership and roles providers, and use Forms authentication, but make it transparent. Based on a Users table, I want to be able to authenticate the user or redirect them based on their NT alone. Is this possible, or am I stuck writing my own small framework to accomplish this? I would like to take advantage of the provider framework if at all possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七度光 2024-07-14 08:02:33

将您的 web.config 设置为使用表单身份验证。
确保 IIS 中的集成身份验证已打开(您可能还需要禁用匿名)。 这将允许您获取用户的 NT 名称。

您可以通过以下方式获取用户的 NT 名称:

  Request.ServerVariables["LOGON_USER"]  

您可以使用以下方式登录用户,无需密码:

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 

Set your web.config to use Forms Authentication.
Make sure Integrated Authentication is turned on in IIS (you may need to disable anonymous as well). This will allow you to get the user's NT name.

You can get the user's NT name with:

  Request.ServerVariables["LOGON_USER"]  

You can log the user in, no password needed, with:

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文