小编The*_*ost的帖子

添加自定义声明类型

OWIN身份验证的新手,发现很难创建我自己的owin声明类型.

继承人的事情.我需要添加像"GroupID"这样的自定义声明,这样我就可以在不同的页面上轻松访问它.

我在登录时做了类似的事情

public ActionResult Login(LoginViewModel model, string returnUrl)
{
    UserViewModel userModel = new UserViewModel();
    if (!ModelState.IsValid)
    {
        return View(model);
    }

    if(CommonHelper.ValidateADUser(model.Username,model.Password))
    {

        UserViewModel curUser = userModel.GetUserDetails(model.Username);
        if (curUser != null)
        {
            var claims = new List<Claim>();
            claims.Add(new Claim(ClaimTypes.WindowsAccountName, curUser.Username));
            claims.Add(new Claim(ClaimTypes.Name,curUser.Fullname));
            claims.Add(new Claim(ClaimTypes.Role, ""));
            claims.Add(new Claim("GroupID", curUser.UserGroupID.ToString()));

            var id = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
            var ctx = Request.GetOwinContext();
            AuthenticationManager.SignIn(id);
            return RedirectToAction("Index", "Home");
        }
    }
    else
    {
        ModelState.AddModelError("", "Invalid login attempt.");
    }

    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

在我的登录部分,我试图通过这样做获得价值

public ActionResult _LoginPartial()
{
    var …
Run Code Online (Sandbox Code Playgroud)

c# owin asp.net-mvc-5

29
推荐指数
2
解决办法
2万
查看次数

某些行上的Jquery Datatable Colspan

好的,我有一个Jquery json调用.看起来有点像这样.

 $('#StockInvetoryReportList').dataTable({
        "filter": false,
        "bLengthChange": false,
        "bPaginate": false,
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "@Url.Action("GetStockInventoryBalance", "Reports")",
        "aoColumns": [{ "mData": "Date"},
      { "mData": "Name" },
    { "mData": "Quantity" },
    { "mData": "isSummary" }
    ],   
            "fnServerParams": function (aoData) {
                aoData.push({ "name" : "StockNo", "value": $('#MaterialName').val() }),
                { "name": "ReportDate", "value": $('#ReportDate').val() };
            }
    });
Run Code Online (Sandbox Code Playgroud)

它会生成此表:

+------------+---------+----------+------------+
|    Date    | Name    | Quantity | Is Summary |
+------------+---------+----------+------------+
| 10/01/2015 | Wire    | 500      | False      |
+------------+---------+----------+------------+
| 10/05/2015 | Wire    | …
Run Code Online (Sandbox Code Playgroud)

jquery json datatables

6
推荐指数
1
解决办法
771
查看次数

如果应用程序服务器位于Active Directory A中,如何查询Active Directory B.

所以继承我的问题.我有一个带有基于表单的身份验证的Asp.net应用程序.我的数据库中有用户,但用户也必须在活动目录中.

以下代码供我检查用户是否在域A中

            DirectoryEntry de = new DirectoryEntry();
            de.Path = "LDAP://domainA.com";
            de.AuthenticationType = AuthenticationTypes.None;
            DirectorySearcher search = new DirectorySearcher(de);
            search.Filter = "(SAMAccountName=" + account + ")";
            search.PropertiesToLoad.Add("displayName");

            SearchResult result = search.FindOne();
Run Code Online (Sandbox Code Playgroud)

这段代码很好用.问题是客户端请求域B也应该能够连接到应用程序.所以创建了以下代码:

            DirectoryEntry de = new DirectoryEntry();
            de.Path = "LDAP://domainB.com";
            de.AuthenticationType = AuthenticationTypes.None;
            DirectorySearcher search = new DirectorySearcher(de);
            search.Filter = "(SAMAccountName=" + account + ")";
            search.PropertiesToLoad.Add("displayName");

            SearchResult result = search.FindOne();
Run Code Online (Sandbox Code Playgroud)

由于我的服务器在域A中,这不起作用.知道服务器在domainA中,有没有办法让我查询domainB?我发现一篇文章说要为domainA和B设置信任,但这个域名不应该被链接.它仅适用于此应用程序,因此需要此功能.

PS我可能忘了解释一个重要的细节.domainA和B不在同一网络上.但是domainA可以ping通domainB

c# asp.net iis ldap active-directory

5
推荐指数
1
解决办法
466
查看次数

在android中以编程方式启用"使用网络提供的值"

我希望能够在提示用户之后以编程方式检查此选项

就像是

if (android.systemtime==false)
 {
  systemtime=true;
  }
Run Code Online (Sandbox Code Playgroud)

这可能吗?任何帮助,将不胜感激

eclipse android

4
推荐指数
1
解决办法
1171
查看次数

分支机构政策:要求指定批准者至少有1个批准

因此,我们的项目团队中有6个人。1个Techlead和1个助理Techlead。

在我们的分支机构策略中,我们希望设置为只有Techlead和Assistant Techlead才能批准拉取请求。如果对方休假,我们只需要得到他们的1个批准即可避免瓶颈。

问题是分支策略设置中只有2个选择。

A.指定所需的批准者数量(由于正常的开发人员也可以批准,因此将不起作用)

B.指定要批准的实际人员(将不起作用,因为这两个步骤都是必需的,并且在一个人休假时会造成瓶颈)

有人可以向我们指出正确的方向吗?

tfs tfs-2015

1
推荐指数
1
解决办法
929
查看次数