Tag: authentication

C#SSL基本访问认证

我想要求第三方提交报告,他们需要通过POST进行“基本访问身份validation”: Your client application must use Basic Access Authentication to send the user name and password. 有人能指出我正确的方向吗? 编辑:我确实看到了这篇文章,但有两个答案,我不确定那是我需要做什么或哪一个是首选方法。

使用带有登录页面的HttpWebRequest发送数据

我正在尝试使用HttpWebRequest类为此页面发送数据: www.stage1.darotools.com/Quran.v1.admin/_FormsWizard/CreateForm.asp 但是我遇到了登录validation的问题。 inheritance我的代码: System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); string postData = “ctlMessageID=” + 348; postData += (“&ctlUserID=” + 7); postData += (“&ctlTitle=” + 7); postData += (“&ctlEmail=” + “rrawhi@gmail.com”); postData += (“&ctlIsSystem=” + 0); postData += (“&ctlFormBody=”); postData += (“&ctlEnableCaptcha=”); postData += (“&ctlEmailAttachedFiles=”); postData += (“&ctlMailingList=”); postData += (“&ctlCommentaryTitle=” + 1); postData += (“&ctlIsActive=” […]

SignInAsync vs AuthenticateAsync

我终于通过JWT令牌认证工作获得了登录方法。 我在这里打电话 await HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, ClaimsPrincipalFactory.CreatePrincipal(claims), authProps); 我也打过电话 await HttpContext.AuthenticateAsync(CookieAuthenticationDefaults.AuthenticationScheme); 在示例中,我读到我只需要SignInAsync 。 所以我测试了它并删除了AuthenticateAsync 。 但是, User.Identity.IsAuthenticated仍然返回true 。 是否可以删除AuthenticateAsync ? 还是我还需要它? 它为什么存在? AuthenticateAsync的文档字符串仅表示用于validation的扩展方法

WEB API – 在控制器或操作级别授权(无身份validation)

我有一个没有身份validation的现有API。 它是一个公共Web API,几个客户通过发出简单的请求来使用它。 现在,需要授权访问某种方法。 有没有办法做到这一点,保持其他控制器和相应的方法为已经使用此Web API的客户端“打开”? 如何识别请求是否有权访问此“受保护”方法?

从ASP.NET Core 1.1 MVC迁移到2.0后,自定义cookie身份validation无法正常工作

我已经将ASP.NET Core 1.1 MVC项目迁移到ASP.NET Core 2.0,现在我注意到对应用程序的未授权部分的请求不再导致“401 Unauthorized”响应,而是导致响应的代码exception“ 500内部服务器错误”。 日志文件的示例摘录(John Smith无权访问他尝试访问的控制器操作): 2018-01-02 19:58:23 [DBG] Request successfully matched the route with name ‘”modules”‘ and template ‘”m/{ModuleName}”‘. 2018-01-02 19:58:23 [DBG] Executing action “Team.Controllers.ModulesController.Index (Team)” 2018-01-02 19:58:23 [INF] Authorization failed for user: “John Smith”. 2018-01-02 19:58:23 [INF] Authorization failed for the request at filter ‘”Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter”‘. 2018-01-02 19:58:23 [INF] Executing […]

以编程方式下载GitHub私有仓库的C#示例

我看到GitHub仓库的下载路径是表格 https://github.com/{username}/{reponame}/archive/{branchname}.zip 对于私人仓库,可以理解的是,您需要提供凭据才能下载仓库,任何人都可以提供有关如何提供HTTPS基本身份validation的C#示例,以便我可以通过编程方式下载仓库吗? 谢谢,

C#MVC:如何覆盖已配置的身份validation重定向?

我在Web.config中有一个带有以下块的MVC应用程序: 因此,如果用户请求页面并且授权失败,它们将被重定向到〜/ Login。 那很好,我需要大多数控制器。 但是,我有一个控制器,我想绕过这个规则。 如何允许特定控制器忽略此规则? 我的问题是在我的MVC应用程序(有几个控制器)中,我有一个控制器,它承载一个REST接口(不适合浏览器使用)。 由于此控制器不适合浏览器使用,我不希望它发送回整个登录页面(或任何实际的页面,只是字符串或部分视图。) 请注意,我在我的操作中使用自定义[授权…]属性,当这些属性失败时,它们会重定向到错误操作 – 但不幸的是, 我的错误操作(返回一个短字符串)被重定向到登录页面因为此配置设置! 我试图弄明白这一点,头晕,我做错了什么? 如有必要,我可以提供更多细节。

未指定authenticationScheme,并且未找到DefaultChallengeScheme Cookies身份validation

我使用下面的代码在ASP.NET Core 2.0中使用cookie进行身份validation services .AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(“MyCookieMiddlewareInstance”, options => { options.AccessDeniedPath = new PathString(“/Account/Login”); options.LoginPath = new PathString(“/Account/Login”); options.LogoutPath = new PathString(“/Account/LogOff”); }); 我收到一个错误: 未指定authenticationScheme,并且未找到DefaultChallengeScheme Cookie设置如下: var claims = new List { new Claim(ClaimTypes.NameIdentifier, userId.ToString()), new Claim(ClaimTypes.Name, userName) }; var identity = new ClaimsIdentity(claims, “Forms”); identity.AddClaim(new Claim(ClaimTypes.Role, “ADMIN”)); var principal = new ClaimsPrincipal(identity); HttpContext.Authentication.SignInAsync(“MyCookieMiddlewareInstance”, principal, new […]

带有EF6的IdentityServer4

我已经基于此实现了IdentityServer4的基本Web API保护。 该演示基于内存数据。 大多数教程都基于用户数据的EF Core实现。 在我搜索时, IdentityServer3有一个IUserService ,现在在版本4中丢失了。 builder.AddInMemoryClients(Clients.Get()); builder.AddInMemoryScopes(Scopes.Get()); builder.AddInMemoryUsers(Users.Get()); 如何从EF6商店检索我的用户数据?

通过服务删除Windows登录屏幕

我试图从服务启动的可执行文件中删除Windows登录屏幕(winlogon)。 该服务将自动启动Windows并等待来自另一台计算机的命令。 当它收到命令时,它将启动一个exe,它将在特定的用户名下启动cmd.exe。 该服务已经存在。 我有编写这个可执行文件的工作。 目前,我编写了可执行文件(CmdLogin),它通过调用LogonUserW,ImpersonateUser和CreateProcessWithLogonW在不同的用户下启动cmd.exe。 我将lpDesktop指定为“WinSta0 \ Default”。 唯一的问题是该服务必须在管理员帐户下运行(但这是一个不同的问题)。 从命令提示符调用时(即使在Windows 7上),这完全正常。 当用户登录并查看他的桌面时(例如我在同一台机器上进行调试时)从服务调用时,这也有效。 但是,正如我上面所说,我的真正要求是即使显示Windows登录屏幕也能正常工作。 目前,exe提供了正确的退出代码,但窗口没有出现。 但是,当用户登录时,他会在桌面上看到cmd窗口。 我找到的一个解决方案是使用“WinSta0 \ WinLogon”代替默认的lpDesktop。 我还没试过。 但是,这看起来会在登录屏幕上显示cmd窗口。 我真正需要的是实际模拟用户登录winlogon并显示他的实际桌面(以及cmd窗口)。 我环顾四周,发现了GINA和Winlogon通知包。 他们看起来像是一种矫枉过正,我不确定这是否能解决这里的目的。 此外,这些在Windows Vista中已被弃用,这使我认为有一种更好,更简洁的方法来解决这个问题。 有关我应该用什么来实现这一目标的任何建议? 为了记录,可执行文件在C#中,使用P / Invoke进行API调用。 我愿意使用我可以从这个C#应用程序调用的C dll。 谢谢, 侯赛因