哪些网站需要做分享按钮,高古楼网站 做窗子,wordpress get_categories(),h5″wordpress在选择AD登录时#xff0c;其实可以直接选择 Windows 授权#xff0c;不过因为有些网站需要的是LDAP获取信息进行授权#xff0c;而非直接依赖Web Server自带的Windows 授权功能。 当然如果使用的是Azure AD/企业账号登录时#xff0c;直接在ASP.NET Core创建项目时选择…在选择AD登录时其实可以直接选择 Windows 授权不过因为有些网站需要的是LDAP获取信息进行授权而非直接依赖Web Server自带的Windows 授权功能。 当然如果使用的是Azure AD/企业账号登录时直接在ASP.NET Core创建项目时选择就好了。来个ABC1.新建一个ASP.NET Core项目2.Nuget引用dependencies / 修改project.jsonNovell.Directory.Ldap.NETStandardMicrosoft.AspNetCore.Authentication.Cookies版本如下Novell.Directory.Ldap.NETStandard: 2.3.5,Microsoft.AspNetCore.Authentication.Cookies: 1.1.0 本文的AD登录使用的是第三方的Novell.Directory.Ldap.NETStandard 进行的LDAP操作(还没有看这个LDAP的库是否有安全性问题如果有需要修改或更换)3.建立一个LDAP操作的工具类代码在下面链接中就不单独贴了基本上就2个方法Register是获取基本配置信息的Validate是来验证用户名密码的https://github.com/chsword/aspnet-core-ad-authentication/blob/master/src/Demo/LDAPUtil.cs4.在applicationSettings.json中添加基本的域配置LDAPServer: 192.168.1.1,//域服务器LDAPPort: 389,//端口一般默认就是这个CookieName: testcookiename,//使用Cookie登录的Cookie的KeyBindDN: CNDoWebUser,CNUsers,//用来获取LDAP的信息用户的用户名BindPassword: !DoWebUserPassword,//用来获取LDAP的信息的用户的密码即DoWebUser的密码LDAPBaseDC: DCaspnet,DCcom,//域的DC5.Startup.cs中修改Startup方法中LDAPUtil.Register(Configuration); ConfigureServices 方法中services.AddAuthorization(options {}); Configure方法中app.UseCookieAuthentication(new CookieAuthenticationOptions(){AuthenticationScheme Configuration.GetValue(CookieName),LoginPath new PathString(/Account/Login/),AccessDeniedPath new PathString(/Account/Login/),AutomaticAuthenticate true,AutomaticChallenge true}); 6.AccountController中添加登录和注销的Action登录的页面[AllowAnonymous]public IActionResult Login(){return View();} 登录的Post页面[HttpPost][AllowAnonymous]public async Task Login(string u, string p){if (LDAPUtil.Validate(u, p)){var identity new ClaimsIdentity(new MyIdentity(u));//这个MyIdentity只是一个祼的IIdentity的实现的类var principal new ClaimsPrincipal(identity);await HttpContext.Authentication.SignInAsync(LDAPUtil.CookieName, principal);return RedirectToAction(Index, Home);}return View();} 注销的页面[Authorize]public async Task Logout(){await HttpContext.Authentication.SignOutAsync(LDAPUtil.CookieName);return RedirectToAction(Index, Home);} Demohttps://github.com/chsword/aspnet-core-ad-authentication引用https://github.com/dsbenghe/Novell.Directory.Ldap.NETStandardhttps://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.Cookies/