Tag: authentication

南希文档中描述的表单身份validation是否容易受到会话劫持的影响?

我阅读了Nancy Forms Authentication的文档。 据我所知,那里推荐的方法会导致终身会话ID: “标识符是将放入身份validationcookie的令牌,用于重新建立执行请求的用户的身份,因此您无需为每个请求输入凭据。” 据我所知,“标识符”是大多数人称之为会话ID的内容。 同样重要的是要知道标识符应被视为为其生成的用户的永久标识符,并将在请求和应用程序会话中重用。 这真的是推荐的方法吗? 如果我理解正确,这意味着会话ID永远不会改变,永远不会过期。 因此会话ID相当于密码 每次请求都会在cookie中重新传输 如果您按照文档结束,可能会以明文forms存储在数据库中 我知道我可以与南希不同地实现这一点,但我的观点是,这种方法不应该在文档中作为参考来解释。 因此,如果攻击者成功窃取了该会话ID,例如通过XSS攻击,他就可以终身访问系统。 请纠正我,并告诉我我的想法中的错误!

具有Identity Auth的MVC应用程序中的Web API Basic Auth

所以我有一个使用Identity进行身份validation的C# MVC应用程序。 我现在需要通过Web API向我的一些客户公开一些内容。 而不是构建单独的应用程序,项目,部署……我只是在现有项目中添加了一个API Controller 。 为了让我的客户保持简单,我决定使用Basic Auth ,而是选择强制我的客户使用SSL连接到我的API。 我已经按照这个非常有用的教程在我的API中实现Basic Auth : http : //www.piotrwalat.net/basic-http-authentication-in-asp-net-web-api-using-message-handlers/ 问题是,他们的指令接管整个应用程序的Auth … 我需要我的MVC应用程序继续使用它当前正在使用的Identity Auth ,并希望滚动我自己的自定义属性(如[APIAuthorize] ),以便它只适用于我的API Controller 。 我可能会破解并试图让它工作,但由于这涉及到安全性,我决定请求一些有关如何最好地实现这一点的帮助。 具体来说,我需要知道1)我在Global.asax做了什么(如果有的话),因为上面的URL建议我这样做: protected void Application_Start() { GlobalConfiguration.Configuration.MessageHandlers .Add(new BasicAuthMessageHandler(){ PrincipalProvider = new DummyPrincipalProvider() }); //… } 但同样,这会将身份validation接管到整个应用程序… 2)我需要在自定义身份validation属性中做什么才能使所有这些工作无缝地完成。 当然,如果有更好的方法来完成所有这些(没有创建单独的应用程序或增加我的客户的实施难度),那么我全都耳朵。

为什么使用“新的NetworkCredential(用户名,密码)”不适用于我的网站的基本身份validation(来自WinForms C#应用程序)?

我有一个使用基本身份validation(用户名/密码)的网站。 为什么以下代码不起作用? 当我运行它时,Web应用程序将我带到登录控制器,而我期望它应该已经过身份validation,因为我正在填充凭据。 换句话说,我正在尝试确认如何在.NET中确认我的winforms HttpWebRequest,以便它将自动化身份validation过程。 我假设NetworkCredential是应该这样做的.net类? 或者在.NET中是否期望有一些手动两步过程你必须自己实现? 这是代码: // Create a new webrequest to the mentioned URL. var uri = new Uri(“http://10.1.1.102:3000/download/sunset”); var myWebRequest = (HttpWebRequest)WebRequest.Create(uri); myWebRequest.PreAuthenticate=true; var networkCredential=new NetworkCredential(“test”, “asdfasdf”); myWebRequest.Credentials=networkCredential; var myWebResponse = (HttpWebResponse)myWebRequest.GetResponse(); Console.Out.WriteLine(“STATUS = ” + myWebResponse.StatusCode); var stream = myWebResponse.GetResponseStream(); var reader = new StreamReader(stream); string text_read = reader.ReadToEnd(); Console.WriteLine(text_read); […]

Unity游戏服务validation失败

我从https://github.com/playgameservices/play-games-plugin-for-unity下载玩游戏统一插件 并在Android设备中运行MainScene 然后单击“validation”按钮,弹出谷歌播放对话框.. 最后,Social.localUser.authenticated始终为false。 然后我在下面的场景中绘制调试信息: Createing platform-specific Play Games client Creating real IPlayGamesClient Entering state:ShutdownState ShutdownState.OnStateEntered:Defaulting to no-op. Starting Auth Transition.Op SIGN_IN status ERROR_NOT_AUTHORIZED PlayGamesHelperObject.OnApplicationPause True PlayGamesHelperObject.OnApplicationPause False PlayGamesHelperObject.OnApplicationPause True PlayGamesHelperObject.OnApplicationPause False Invoking user callback on game thread 我尝试这些方法来修复下面,但我仍然无法成功登录 方法1在google play游戏控制台中,添加测试用户和活动alpha,beta测试。 Method2在统一中,创建android密钥库并签名 密钥库是一个签名文件,用于签署您的apk。 当您创建开发版本时Unity不会签署apk。 您只需要一个项目的Keystore文件。 该文件是您的签名。 创建一个这样做: 在发布设置中,选中“创建新密钥库”框。 单击“浏览”并选择要存储文件的位置。 它应该位于中心位置,因为它与您的项目并不真正相关。 设置文件的保护密码并确认。 从“密钥别名”下拉列表中选择“创建新密钥”。 应打开一个窗口,您必须填写有关您的组织/个人的个人数据。 顶部的别名只是密钥库的名称。 如果您有多个身份,请确保选择有意义的名称。 […]

在Office365上使用默认SMTP凭据的例外 – 客户端未经过身份validation,无法在MAIL FROM期间发送匿名邮件

我正在使用NLog将日志作为带有自定义邮件目标的电子邮件发送。 我从我的office365帐户发送设置为我的web.config(我的主项目)中的默认设置,如下所示: 我用我的日志目标(在我的NLog实现包中)覆盖Write方法,如下所示: protected override void Write(LogEventInfo logEvent) { try { using (var mail = new MailMessage()) { this.SetupMailMessage(mail, logEvent, this.Layout.Render(logEvent)); using (SmtpClient smtpClient = new SmtpClient()) { smtpClient.UseDefaultCredentials = true; smtpClient.Send(mail); } } } catch (Exception exception) { throw new NLogRuntimeException(“An error occurred when sending a log mail message.”, exception); } } 当系统尝试从此帐户发送邮件时,将引发以下System.Net.Mail.SmtpException : […]

使用Novell.Directory.Ldap.NETStandard库进行C#netcore ldap身份validation

这是我第一次使用LDAP和Active Directory。 我必须使用.NetCore创建一个必须使用ActiveDirectory(WindowsServer 2008 r2)进行身份validation的web api,我正在关注Novell.Directory.Ldap.NETStandard中的示例,但我无法理解我必须设置参数的方式。 这是我在ActiveDirectory Server中创建的用户: 在Novell的样本中 if (args.Length != 5) { System.Console.Out.WriteLine(“Usage: mono VerifyPassword ” + ” \n” + ” “); System.Console.Out.WriteLine(“Example: mono VerifyPassword Acme.com ” + “\”cn=Admin,o=Acme\” secret\n” + ” \”cn=JSmith,ou=Sales,o=Acme\” testPassword”); System.Environment.Exit(0); } int ldapPort = LdapConnection.DEFAULT_PORT; int ldapVersion = LdapConnection.Ldap_V3; System.String ldapHost = args[0]; System.String loginDN = args[1]; System.String […]

ASP身份2 + Web API令牌身份validation – 持久声明未加载

我在ASP.NET Web API Token Auth中遇到了一些问题。 基本上我创建了一个具有一些声明的用户(值存储在AspNetUserClaim表中)但是当创建用户身份时,这些声明不会从数据库中提取。 我的设置细分如下。 用户类:具有GenerateUserIdentityAsync方法(非常标准)和一些自定义属性: public class LibraryUser : IdentityUser{ //Add Custom Properties Here public string Company { get; set; } public string DisplayName { get; set; } public async Task GenerateUserIdentityAsync(UserManager manager, string authenticationType) { // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType var userIdentity = await manager.CreateIdentityAsync(this, […]

使用特定计算机对域进行身份validation?

背景 我们正在转换到基于声明的auth在我们的应用程序中(在.NET 4.5上)我们目前通过Asp.net成员身份和域身份validation正常工作。 域部分看起来像这样(概括一点): var context = new PrincipalContext(ContextType.Domain, ADDomainName); return context.ValidateCredentials(username, password); 问题/目标 有时我们(或我们使用的一些顾问)使用的机器可以看到我们的域服务器,但不是我们域的成员。 从不在域上的计算机上测试应用程序,而不是必须启动域中的计算机以进行检查,这将是一个很大的帮助。 题 有没有办法从不在域上的计算机上对域控制器执行域身份validation? 到目前为止,我还没有找到任何研究。

通过身份validation访问Samba共享,无驱动器映射 – C#

我正在尝试连接到需要身份validation的samba共享。 我不希望映射驱动器。 共享的凭据始终相同。 一旦它进行身份validation,我就可以使用常规路径来处理它。 我正在使用C#.net 有任何想法吗 ? 我搜索了一些内容并阅读了模拟,但我认为它不符合我的需求。 提前致谢!

SharePoint Online身份validation失败

我有一个C#应用程序,它使用Web请求对SharePoint Online进行身份validation。 它适用于我,但其他人收到以下错误: S:Sender wst:FailedAuthentication Authentication Failure 0x80048821 0x80041034 The specified member name is either invalid or empty. 这个错误是什么意思? 我很确定他们输入了正确的用户名和密码。 是否有一个SharePoint Online错误代码列表,我可以找到哪些地方可以帮助我识别问题? 这是我的C#代码: var request = (HttpWebRequest)WebRequest.Create(@”https://login.microsoftonline.com/extSTS.srf”); request.AllowAutoRedirect = false; request.ContentType = @”application/json; odata=verbose”; request.CookieContainer = this.CookieContainer; request.Method = @”POST”; request.UserAgent = @”Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)”; string soapRequest = Strings.SharePointOnlineAuthenticationRequest […]