【问题标题】:ASP.NET using Window Authentication by matching a userid from SQL ServerASP.NET 通过匹配来自 SQL Server 的用户 ID 使用窗口身份验证
【发布时间】:2012-11-19 19:35:58
【问题描述】:

你能否给我一个很好的例子,他们将验证我的用户 ID,它来自窗口登录工作站,并匹配 SQL Server 表中的用户 ID 列表?我正在使用 IIS,它们都在同一台服务器上,但在不同的机器上。如果我的用户 ID 与表中的用户 ID 之一不匹配,那么它会自动阻止我进入特定网站。我不想要登录或表单。我只想在允许我进入网站之前自动检测我的用户 ID。

【问题讨论】:

    标签: asp.net sql-server iis


    【解决方案1】:

    您在网站上使用什么身份验证机制?形式?融合的?证书映射?

    最终,身份验证机制将生成一个 cookie,您可以通过 HttpContext.Current.User.Identity.Name 在代码中引用该 cookie。

    您的工作是确定您正在使用哪种身份验证机制,并了解生成 Identity.Name 值的原因,因为身份验证机制对此进行控制,并将用户表中的值与此值同步。不一定需要是用户表的主键;事实上,如果您根本不公开用户表的主键,安全性会略有提高。任何唯一的键都可以;一般来说,我使用 Guid,因为我可以独立生成它们,而且它们的顺序(通常)是不可预测的。

    【讨论】:

    • 我在 Page_Load 期间使用窗口身份验证。我使用“字符串用户 = Page.User.Identity.Name;”然后我想使用循环来检查 userID 列中的每个值以匹配用户。如果匹配,请允许我进入网站。如果没有,那么它会通过正确的网站消息拒绝我无权访问。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2015-06-18
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多