1

在我的页面中,我需要和表单在请求中添加用户。我需要验证在活动目录中输入的此名称或电子邮件。任何人都有插入用户和 C# 以在 AD 中验证此值的表单(ASPX、HTML、Javascript)?

今天,这就是我所拥有的,但视觉上它很丑陋,并且无法验证输入的内容。

<asp:TextBox ID="txtUserAdd" runat="server" Height="17px" Width="150px"></asp:TextBox>
    <asp:Button ID="btnAddUser" class="btn" runat="server" Font-Bold="true" Text="Add User" OnClick="btnSendUser_OnClick" />
    <br />
    <table id="tblUsers" CssClass="table table-bordered">
        <asp:Label ID="lblUser" runat="server" Visible="false"></asp:Label>
    </table>


protected void btnSendUser_OnClick(object sender, EventArgs e)
{
    lblUser.Visible = true;
    lblUser.Text = txtUserAdd.Text;
}
4

2 回答 2

0

自定义验证器服务器端 http://msdn.microsoft.com/en-us/library/f5db6z8k%28v=vs.100%29.aspx

对于 AD,使用 System.DirectoryServices,我使用 DirectorySearcher

于 2013-08-22T19:35:22.800 回答
0

虽然我个人从未使用过活动目录,所以我将假设“活动目录”就像数据库一样。有来自 ASP .NET 的 MSDN Active Directory Authentication信息。目前我有 3 种方法可以在 ASP.net 应用程序中检查身份验证。

1.使用正则表达式

public class Test_Validation
{
  public bool Test_User(string username)
  {
  // Setup your username pattern
    const string pattern = @"^[a-z0-9_-]{3,15}$"/*NICE SAMPLE Username REGEX!*/;
    // check if the pattern matches
    if (System.Text.RegularExpressions.Regex.IsMatch(/*The string to check the pattern on*/username, /* the regular expression pattern */pattern, /* a flag for REGEX */ System.Text.RegularExpressions.RegexOptions.IgnoreCase))
    {
        System.Console.WriteLine("  (match for '{0}' found)", pattern);
    }
    else
    {
        System.Console.WriteLine("Sorry, no match found");
    }
  }
}

1+ 使用 if/else 语句并解析字符串,这似乎非常冗长且不必要的解释。

2.使用jQuery验证。您可以在此站点上阅读 jQuery 验证:使用 jQuery 验证插件的示例

3. 使用 Data-Annotation 属性 这是一篇关于使用 Data-Annotation 的好文章:Using Attributes to Define Validation Rule Sets

抱歉,列出的代码示例不多,请问我,我将非常乐意详细说明您想要继续使用哪种类型的验证,(我个人会选择最后一个选项)

于 2013-07-21T08:35:21.483 回答