Tag: authentication

SSL / TLS中的相互身份validation

我是SSL身份validation的新手,我需要使用SSL在信任边界上validation两个架构组件(我可以控制这两个组件)。 我想我需要双向SSL身份validation,服务器和客户端都有证书。 证书可以自签名吗? (即,由供应商签名,这不会首先使用SSL取消?或者我是否需要第三方validation服务以确保证书的身份?) 握手如何在服务器和客户端的公钥和私钥方面工作? 我将不得不在IIS中配置服务器以使用cetificate,并使用请求发送客户端证书(最有可能通过使用WCF配置?),但是还有其他任务我必须做才能使其工作吗?

如何在ASP.NET Core 1.0中配置身份validation

我正在尝试向我的应用程序添加身份validation,我已经运行entity framework,但现在我想validation用户,但我遇到了很多问题,在配置构造函数中配置它。 例如,在许多教程中,他们提供的代码不再像我那样工作 // Configure ASP.NET Identity to use our Identity-based application context services.AddAuthentication() .AddIdentity() .AddEntityFrameworkStores() .AddDefaultTokenProviders(); 它告诉我,我需要明确指定类型参数,但这是教程中的内容吗? https://shellmonger.com/2015/05/29/asp-net-mvc5-identity-part-1-the-database/ 我很难理解这样做的正确方法,我想要做的就是在用户登录时对用户进行身份validation。 这是我的project.json “dependencies”: { “EntityFramework.Commands”: “7.0.0-rc1-final”, “EntityFramework.MicrosoftSqlServer”: “7.0.0-rc1-final”, “EntityFramework.Core”: “7.0.0-rc1-final”, “Microsoft.AspNet.Diagnostics”: “1.0.0-rc1-final”, “Microsoft.AspNet.Diagnostics.Entity”: “7.0.0-rc1-final”, “Microsoft.AspNet.Identity”: “3.0.0-rc1-final”, “Microsoft.AspNet.Identity.EntityFramework”: “3.0.0-rc1-final”, “Microsoft.AspNet.Authentication”: “1.0.0-rc1-final”, “Microsoft.AspNet.Authorization”: “1.0.0-rc1-final”, “Microsoft.AspNet.IISPlatformHandler”: “1.0.0-rc1-final”, “Microsoft.AspNet.Mvc”: “6.0.0-rc1-final”, “Microsoft.AspNet.Server.Kestrel”: “1.0.0-rc1-final”, “Microsoft.AspNet.Server.WebListener”: “1.0.0-rc1-final”, “Microsoft.AspNet.StaticFiles”: “1.0.0-rc1-final”, “Microsoft.Framework.CodeGenerators.Mvc”: “1.0.0-beta5”, “Microsoft.Framework.ConfigurationModel.Json”: “1.0.0-beta4”, […]

IIS抱怨使用LDAP身份validation进行身份模拟

我按照教程在ASP.NET / C#4.0 Web应用程序中实现LDAP身份validation。 我在Visual Studio 2010中这样做了。该站点在调试模式下通过Visual Studio运行良好,但是当我在IIS7中发布此站点时,它失败并出现以下错误: HTTP错误500.24 – 内部服务器错误检测到的ASP.NET设置不适用于集成管理管道模式。 最可能的原因: system.web/identity@impersonate设置为true。 事实上,本教程的一部分要求我将其添加到配置文件中… 那么为什么我会收到此错误,我该如何解决?

如何在没有用户密码的情况下获取Alfresco登录票证,但使用用户主体名称(UPN)模拟用户

我正在编写一个DLL,它具有在不使用用户密码的情况下获取Alfresco登录票证的function,仅使用用户主体名称(UPN)。 我正在调用alfresco REST API服务/ wcservice 。 我在Alfresco使用NTLM。 我正在冒充使用WindowsIdentity构造函数的用户,如http://msdn.microsoft.com/en-us/library/ms998351.aspx#paght000023_impersonatingbyusingwindowsidentity所述 。 我检查并且用户被正确模拟(我检查了WindowsIdentity.GetCurrent().Name属性)。 在模仿用户之后,我尝试使用CredentialsCache.DefaultNetworkCredentials制作HttpWebRequest并设置其凭据。 我收到错误: The remote server returned an error: (401) Unauthorized. at System.Net.HttpWebRequest.GetResponse() 当我使用new NetworkCredential(“username”, “P@ssw0rd”)来设置请求凭据时,我获得了Alfresco登录票证( HttpStatusCode.OK ,200)。 有没有办法可以在没有用户密码的情况下获得Alfresco登录票? 这是我正在使用的代码: private string GetTicket(string UPN) { WindowsIdentity identity = new WindowsIdentity(UPN); WindowsImpersonationContext context = null; try { context = identity.Impersonate(); MakeWebRequest(); } catch (Exception e) { return […]

错误(407)“需要代理validation”。

我有一个要求…我想从winforms访问一个URL(登录页面是web)。 我必须将凭据传递给该URL,响应应该是经过身份validation的网页(标记)的后果。 我编写了一个函数,它将请求url并返回响应。 但我收到错误代码(407) “需要代理身份validation。” 这是我的代码。 private static void GetPageContent(){ string url = “https://LoginPage.aspx/”; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = “GET”; // If required by the server, set the credentials. //request.Proxy.Credentials = CredentialCache.DefaultCredentials; request.Credentials = new NetworkCredential(“user1”, “testuser#”); // Get the response. HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Display the status. Console.WriteLine(response.StatusDescription); // Get the stream […]

SSL客户端/服务器相互认证

您好我正在尝试在C#中使用服务器和客户端证书进行相互身份validation的ssl客户端/服务器通信。 设法只使用服务器证书进行ssl通信,在客户端我使用这样的: TcpClient client = new TcpClient(machineName, port); //Create an SSL stream that will close the client’s stream. SslStream sslStream = new SslStream( client.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null ); try { // The server name must match the name on the server certificate. sslStream.AuthenticateAsClient(serverName); } catch (AuthenticationException e) { Console.WriteLine(“Exception: {0}”, e.Message); if (e.InnerException != […]

System.Security.Claims命名空间的成员不可用?

我正在学习.NET 4.5中新的基于声明的身份validation方法,并且正在使用Console应用程序来实现这一点。 根据MSDN,ClaimsAuthenticationManager是System.Security.Claims命名空间的成员。 正如你在这里看到的,我没有得到这个选项。 我确定该项目使用的是.NET 4.5。 我在这里想念一些简单的东西……有人有什么建议吗?

使用PrincipalContext.ValidateCredentials对本地计算机进行身份validation时出错?

我有一个WCF服务,其中包含一个Login方法,该方法根据本地计算机凭据validation用户名和密码,并且在看似随机的一段时间后,它将停止为某些用户工作。 实际的登录命令如下所示: public UserModel Login(string username, string password, string ipAddress) { // Verify valid parameters if (username == null || password == null) return null; try { using (var pContext = new PrincipalContext(ContextType.Machine)) { // Authenticate against local machine if (pContext.ValidateCredentials(username, password)) { // Authenticate user against database using (var context = new MyEntities(Connections.GetConnectionString())) { […]

使用.NET Core的Firebase身份validation(JWT)

我正在开发一个处理Firebase身份validation的简单API – 稍后将用于Android客户端。 所以在Firebase控制台中,我启用了Facebook和Google登录方法,并创建了一个示例html页面,我可以使用它来测试登录方法 – 下一个函数由按钮调用: function loginFacebook() { var provider = new firebase.auth.FacebookAuthProvider(); var token = “”; firebase.auth().signInWithPopup(provider).then(function (result) { var token = result.credential.accessToken; var user = result.user; alert(“login OK”); user.getToken().then(function (t) { token = t; loginAPI(); }); }).catch(function (error) { var errorCode = error.code; var errorMessage = error.message; alert(errorCode + ” – ” […]

Sharepoint 2013中的联合身份validation:获取rtFa和FedAuth cookie

场景如下:我需要对用户(使用他的大学帐户)执行联盟身份validation到他大学的Sharepoint站点,并获得FedAuth和rtFa cookie (我必须将其传递给SharePoint REST webservices)为了访问资源)。 我做了一些尝试,但每个问题至少有一个问题: 1)使用Microsoft.SharePoint.Client库 ClientContext context = new ClientContext(host); SharePointOnlineCredentials creds = new SharePointOnlineCredentials(user, passw); context.Credentials = creds; Uri sharepointuri = new Uri(host); string authCookie = creds.GetAuthenticationCookie(sharepointuri); Web web = context.Web; context.Load(web, w=>w.Lists); context.ExecuteQuery(); fedAuthString = authCookie.Replace(“SPOIDCRL=”, string.Empty); 这样我设法获得FedAuth cookie,但我无法获得rtFa cookie 。 我怎么能在这一点上获得rtFa cookie? 我是否可以拦截此类操作中涉及的HTTP请求(即context.ExecuteQuery()) – 其中可能包含标题中的rtFa cookie? 或者,我是否可以通过仅利用FedAuth cookie获得rtFa cookie? 2)使用MsOnlineClaimsHelper […]