Tag: 认证

如何在C#中使用SHA1或MD5?(哪一个在身份validation和安全性方面更好)

在C#中我们如何自动使用SHA1? SHA1是否优于MD5?(我们使用哈希来获取用户名和密码,并需要速度进行身份validation)

ASP.Net-Core中的自定义身份validation

我正在开发一个需要与现有用户数据库集成的Web应用程序。 我仍然想使用[Authorize]属性,但我不想使用Identity框架。 如果我确实想使用Identity框架,我会在startup.cs文件中添加这样的内容: services.AddIdentity(options => { options.Password.RequireNonLetterOrDigit = false; }).AddEntityFrameworkStores() .AddDefaultTokenProviders(); 我假设我必须在那里添加其他东西,然后创建某种实现特定接口的类? 有人能指出我正确的方向吗? 我正在使用asp.net 5的RC1。

没有配置身份validation处理程序来validation该方案:Microsoft.AspNet.Identity.External

我正在使用asp.net 5 rc2构建一个api。 我正在尝试实现openiddict-core,在这里找到本地帐户,我也想让用户使用外部登录,例如谷歌。 我已经设置了所有,但当我尝试实现谷歌身份validation,我称之为代码 var info = await _signInManager.GetExternalLoginInfoAsync(); 我在标题中收到错误消息。 在客户端我正在使用这里找到的Satellizer,它负责打开google提示窗口并将回调发送到我的AuthController Google方法,这是您在其他mvc6示例中看到的正常ChallengeResult代码。 我已经编写了代码来手动获取用户的详细信息,但是我认为我会使用已经构建的signInManager,而不是重现轮… 我可能没有正确设置,因为所有示例似乎都使用cookie,我猜测是因为它们是mvc6 Web应用程序,而不是api。 我不想使用cookies,但这可能是我的问题。 现在为一些代码。 startup.cs public void ConfigureServices(IServiceCollection services) { // Add MVC services to the services container. services.AddMvc(); services.AddEntityFramework() .AddSqlServer() .AddDbContext(options => options.UseSqlServer(_configuration[“Data:DefaultConnection:ConnectionString”])); services.AddIdentity() .AddEntityFrameworkStores() .AddDefaultTokenProviders() .AddOpenIddict(); // Add the OpenIddict services after registering the Identity services. } public void […]

如何获取当前用户的Windows身份

该站点在我的本地IIS 6.1上运行。 我想添加一些function来从我们的AD中提取信息。 我的AD代码适用于许多其他项目和我的开发服务器。 以下是我写出用户名的尝试: Response.Write(“1. ” + this.Request.LogonUserIdentity.Name); Response.Write(“2. ” + Request.ServerVariables[“Auth_User”]); Response.Write(“3. ” + WindowsIdentity.GetCurrent().Name.ToString()); 我得到的结果是: NT AUTHORITY \ IUSR 管理员 NT AUTHORITY \ NETWORK SERVICE 如何获得实际的Windows用户名,例如我们的域名/用户名 谢谢

如何validation客户端应用程序是否信任从其发送的消息

基本问题 我怎么知道这是我的公共可访问(客户端)应用程序发送我的服务消息? 我如何知道冒充我的应用程序的其他应用程序并不是真的? 一些背景 目前,我们通过log4net和WCF将我们网站上发生的所有错误记录到数据库中。 这很有效,因为Web服务器(可从Web访问 – 部分受信任)通过可信关系向应用程序服务器上运行的WCF服务(无法从Web访问)报告错误。 因此,我们知道所有错误日志都是真实的,我们需要对它们进行调查。 通过我们的新网站,我们计划利用SilverLight来实现一些目标。 我们面临的问题是如何将在Web使用者PC(不受信任)上运行的SilverLight应用程序的错误报告回我们的应用程序服务器(无法访问Web – 受信任)。 我们可以通过Web服务器上的服务外观进行客户端通信来解决应用服务器的不可访问性问题,所以不用担心。 当我们需要确保发送消息的应用程序确实是我们的应用程序而不仅仅是模仿者时,就会出现问题。 一些想法 代码将使用C#编写,并在客户端PC上本地运行的SilverLight应用程序中运行,因此我们无法保证它不会被反编译并用于向我们的服务发送虚假消息。 以上意味着我们无法使用传统的对称加密,因为我们无法将私钥存储在应用程序中(它可以被反编译)。 同样,我们不能使用非对称加密,因为它可能只是被冒充(攻击者只能使用存储的公钥对消息进行签名并发送它们 – 消息看起来真实) 在此应用程序的情况下,没有用户身份validation,因此我们不能使用它来为我们提供信任。 是的,我知道这是错误的,错误日志比应用程序显示的数据更好地受到保护,但事实是这样:) 任何想法或帮助将不胜感激!

调用Web服务时出现HTTP 407代理身份validation错误

我正在开发一个通过互联网调用第三方Web服务的.NET应用程序。 服务不使用SOAP,因此我们手动构造XML请求文档,通过HTTP将其发送到服务,并检索XML响应。 我们的代码是在正常Windows域帐户的上下文中运行的Windows服务,并且位于配置为需要NTLM身份validation的代理服务器(Microsoft ISA Server)后面。 运行我们服务的帐户有权通过代理服务器访问互联网。 代码如下所示: // Create the request object. HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url); request.Method = “POST”; // Configure for authenticating proxy server requiring Windows domain credentials. request.Proxy = New WebProxy(proxyAddress) { UseDefaultCredentials = true }; // Set other required headers. request.Accept = acceptableMimeType; request.Headers.Add(HttpRequestHeader.AcceptCharset, acceptableCharset); request.Headers.Add(HttpRequestHeader.AcceptEncoding, “none”); request.Headers.Add(HttpRequestHeader.AcceptLanguage, “en-gb”); request.Headers.Add(HttpRequestHeader.CacheControl, “no-store”); […]

当Session.Abandon()不起作用时,如何以编程方式结束asp.net中的会话?

Session.Abandon()似乎没有做任何事情。 在调用Session.Abandon()时,您可能希望触发Session_end事件。

使用证书身份validation访问Web服务和HTTP接口

这是我第一次使用证书身份validation。 商业合作伙伴公开两种服务,XML Web服务和HTTP服务。 我必须使用.NET客户端访问它们。 我试过的 0.设置环境 我已使用certmgr.exe在本地计算机(win 7 professional)中安装了SSLCACertificates(在root和两个中间)和客户端证书。 1.对于Web服务 我有客户证书(der)。 该服务将通过.NET代理使用。 这是代码: OrderWSService proxy = new OrderWSService(); string CertFile = “ClientCert_DER.cer”; proxy.ClientCertificates.Add(new System.Security.Cryptography.X509Certificates.X509Certificate(CertFile)); orderTrackingTO ot = new orderTrackingTO() { order_id = “80”, tracking_id = “82”, status = stateOrderType.IN_PREPARATION }; resultResponseTO res = proxy.insertOrderTracking(ot); 最后一条语句报告的exception: The request failed with an empty response 。 2.对于HTTP接口 它是我必须通过POST方法调用的HTTPS接口。 […]

使用Visual Studios 2010在.NET 4.0中进行ONVIF身份validation

我的任务是尝试与建筑物中的ONVIF摄像机建立通信,最终升级公司的domotic解决方案,以自动识别ONVIF摄像机,并能够设置它们并使用它们的服务。 我已经能够以这种方式收集一些基本信息,如模型,MAC地址和固件版本: EndpointAddress endPointAddress = new EndpointAddress(“<mycameraurl:/onvif/device_service”); CustomBinding bind = new CustomBinding(“DeviceBinding”); DeviceClient temp = new DeviceClient(bind, endPointAddress); String[] arrayString = new String[4]; String res = temp.GetDeviceInformation(out arrayString[0], out arrayString[1], out arrayString[2], out arrayString[3]); MessageBox.Show(“Model ” + arrayString[0] + “, FirmwareVersion ” + arrayString[1] + “, SerialNumber ” + arrayString[2] + “, HardwareId ” + […]

如何使用OAuth 2.0对Azure Active Directory进行身份validation?

我有一个用C#编写的REST API,我需要使用现有的Azure AD服务进行身份validation。 我目前拥有希望进行身份validation的用户的用户名和密码。 我需要使用Azure AD进行身份validation,并从服务器接收访问令牌。 有人可以指点我解释如何做到这一点的一些文章/教程的方向?