如何使用Windows Active Directory身份验证和基于身份的声明?
发布时间:2020-05-22 23:48:53 所属栏目:Windows 来源:互联网
导读:问题 我们希望使用Windows Active Directory将用户验证到应用程序中。但是,我们不想使用Active Directory组来管理控制器/视图的授权。 据我所知,没有一种简单的方式来结合AD和基于身份的声明。 目标 使用本地Active Directory验证用户 使用身份框架来管理声
|
问题 我们希望使用Windows Active Directory将用户验证到应用程序中。但是,我们不想使用Active Directory组来管理控制器/视图的授权。 据我所知,没有一种简单的方式来结合AD和基于身份的声明。 目标 >使用本地Active Directory验证用户 尝试(失败) > Windows.Owin.Security.ActiveDirectory – Doh。这是对于Azure AD。没有LDAP支持。他们可以把它称为AzureActiveDirectory吗? 任何帮助将不胜感激。我已经很久很久就被困在这个问题上,并且会很感激外界的关注。 鞋子你的解决方案推动我朝着在MVC6-Beta3 Identityframework7-Beta3 EntityFramework7-Beta3上为我工作的方向://
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel model,string returnUrl = null)
{
if (!ModelState.IsValid)
{
return View(model);
}
//
// Check for user existance in Identity Framework
//
ApplicationUser applicationUser = await _userManager.FindByNameAsync(model.eID);
if (applicationUser == null)
{
ModelState.AddModelError("","Invalid username");
return View(model);
}
//
// Authenticate user credentials against Active Directory
//
bool isAuthenticated = await Authentication.ValidateCredentialsAsync(
_applicationSettings.Options.DomainController,_applicationSettings.Options.DomainControllerSslPort,model.eID,model.Password);
if (isAuthenticated == false)
{
ModelState.AddModelError("","Invalid username or password.");
return View(model);
}
//
// Signing the user step 1.
//
IdentityResult identityResult
= await _userManager.CreateAsync(
applicationUser,cancellationToken: Context.RequestAborted);
if(identityResult != IdentityResult.Success)
{
foreach (IdentityError error in identityResult.Errors)
{
ModelState.AddModelError("",error.Description);
}
return View(model);
}
//
// Signing the user step 2.
//
await _signInManager.SignInAsync(applicationUser,isPersistent: false,authenticationMethod:null,cancellationToken: Context.RequestAborted);
return RedirectToLocal(returnUrl);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Windows Server 2016-配置Windows Defender防病毒
- 2018-5-26 怎么在windows上远程连接linux服务器上
- node-ffi模块的安装以及基于electron生成windows
- 是卸载/重新安装在Windows 7上更新PyCharm的最佳
- Win10 将应用程序exe放到开始屏幕
- 在Windows中编写Git命令脚本
- 如何将列表转换为ObservableCollection?
- 使用dll和java jni4net时出现UnsatisfiedLinkErr
- 惊艳的cygwin——Windows下的Linux命令行环境的配
- win10生成UWP软件打包 安装UWP软件
热点阅读
