在.NET Core中使用Intranet应用程序工作,我想检索连接到AD用户的信息。当前,所有身份验证都由Windows处理,并且效果很好。有没有办法可以从AD中提取数据?我想获取诸如名字和姓氏,电子邮件,ID等信息。
我建立了一个类:
public partial class SvcCodes
{
public List<SvcCodeReport> Report { get; set; }
public List<SvcCodesCheck> TestList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
它使用这个类:
public partial class SvcCodeReport
{
public List<Dictionary<string, object>> ProgResults { get; set; }
public IEnumerable<ExtraData> ExtraData { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,数据从两个来源拉取并分配给 SvcCodeReport 类:
var model = new SvcCodeReport()
{
ProgResults = tasks,
ExtraData = _context.ExtraData.Where(h => h.ServiceCode == Int32.Parse(id)
};
Run Code Online (Sandbox Code Playgroud)
然后将模型变量添加到 Report 类中:
check.Report.Add(model);
Run Code Online (Sandbox Code Playgroud)
但是当我运行程序时,我得到一个空对象错误和一行说:
LRProgReport.Models.SvcCodes.Report.get returned null
Run Code Online (Sandbox Code Playgroud)
这个错误是说在添加之前还是之后报告为空?
如果以前,为什么这是一个问题?如果之后,为什么模型变量没有被添加到列表中?
尝试从IIS Express运行我的.NET Core 2.0应用程序时,出现以下错误:
System.Data.SqlClient.SqlException: 'Failed to generate SSPI context.'
Run Code Online (Sandbox Code Playgroud)
尝试使用以下连接字符串(用户名和密码已编辑)访问SQL 2012数据库服务器上的数据库时会发生这种情况:
"Server=10.10.127.170;Database=NGProd;user
id=*;password=*;Trusted_Connection=True;MultipleActiveResultSets=true;"
Run Code Online (Sandbox Code Playgroud)
我正在使用专门为此应用程序创建的SQL Server登录名和密码.我可以使用它登录SSMS并拥有对数据库的所有访问权限.我可以测试其他计算机上的连接,它工作正常.我还检查了SQL错误日志,当我尝试通过应用程序或通过SSMS登录时,没有报告任何错误.
我经历了几个博客,网站和论坛,看着"无法生成SSPI上下文"错误,但这些决议都没有产生任何影响.
有人有主意吗?我很难过!