Tag: 认证

登录使用Live.com身份validation的站点

我一直在尝试自动登录我经常访问的网站www.bungie.net。 该站点与Microsoft和Xbox Live相关联,因此在人们登录其站点时使用Windows Live ID API。 我对创建网络蜘蛛/机器人比较陌生,我担心我误解了一些最基本的概念。 我已经模拟登录到其他网站,如Facebook和Gmail,但live.com给了我一些麻烦。 无论如何,我一直在使用Wireshark和Firefox插件篡改数据来试图弄清楚我需要发布什么,以及我需要包含哪些我的请求。 据我所知,这些是登录此站点必须遵循的步骤。 1.访问https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1268167141&rver=5.5.4177.0&wp=LBI&wreply=http:%2F%2Fwww.bungie.net%2FDefault.aspx&id=42917 2.收到MSPRequ和MSPOK的cookies。 3.将表单ID“PPSX”中的值,表单ID“PPFT”中的值,您的用户名,密码全部发布到更改的URL,类似于:https://login.live.com/ppsecure/post。 srf?wa = wsignin1.0&rpsnv = 11&ct =(在该URL的末尾有一些数字会发生变化) 4. Live.com向用户返回一个包含更多隐藏表单的页面。 然后,客户端将“ANON”forms的值,“ANONExp”forms的值和“t”forms的值发布到URL:http://www.bung ie.net/Default.aspx?wa = wsignin1.0 5.在发布该数据之后,向用户返回各种cookie,其中最重要的是“BNGAuth”,即该站点的登录cookie。 我遇到麻烦的地方是第五步,但这并不意味着我已经正确完成了所有其他步骤。 我发布了来自“ANON”,“ANONExp”和“t”的数据,但是我没有返回一个名为“RSPMaybe”的cookie,而是重新定向到主页。 当我查看Wireshark日志时,我注意到当我使用Firefox登录时以及我的程序运行时,日志与我之间的不同之处。 它可能没什么 但我会在这里附上图片供你查看 。 在第四步发布数据之前,我正从网站返回一个HTTP数据包。 我不确定这是怎么回事,但它必须是我在HTTPS步骤中做错的一个副作用。 using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.Net; using System.IO; using System.IO.Compression; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Web; namespace […]

ServiceStack API和ASP MVC身份validation有两种方式

我在解决通过ServiceStack服务html页面和Web服务的ASP MVC应用程序的体系结构时遇到了麻烦。 该应用程序存在于基本URL中,例如“ http://myapplication.com ”,SS存在于“ http://myapplication.com/api ”中,因为它是配置两者的最简单方法。 一般来说一切正常,但是当我到达授权和身份validation的一部分时,我就被困住了。 首先,我需要应用程序处理cookie,因为ASP通常会执行FormsAuthentication,并且当使用属性“Authorize”时,用户将通过登录屏幕并使用操作和控制器。 这是典型的ASP,所以我没有问题,例如“ http://myapplication.com/PurchaseOrders ”。 另一方面,我的应用程序的客户端将从javascript使用我的Web服务API。 在某些情况下,还会使用ServiceStack的“Authenticate”属性标记这些Web服务。 例如,“ http://myapplication.com/api/purchaseorders/25 ”必须validation用户是否可以查看该特定采购订单,否则发送401 Unauthorized,以便javascript可以处理这些情况并显示错误消息。 最后但并非最不重要的是,另一组用户将使用任何外部应用程序(可能是Java或.NET)通过令牌使用我的API。 因此,我需要解决两种类型的身份validation,一种使用用户名和密码,另一种使用令牌并使其持久化,因此一旦第一次进行身份validation,下一次调用就可以更快地从API中解决。 这是我到目前为止的代码,我已经非常简单地说明了这个例子。 [HttpPost] public ActionResult Logon(LogOnModel model, string returnUrl) { if (ModelState.IsValid) { JsonServiceClient client = new JsonServiceClient(“http://myapplication.com/api/”); var authRequest = new Auth { provider = CredentialsAuthProvider.Name, UserName = model.UserName, Password = model.Password, RememberMe = model.RememberMe […]

会话超时在asp.net mvc 4 C#中不起作用。 为什么?

对于我的网站,我在web.config文件中配置了1周的登录会话超时 这是登录的代码 [AllowAnonymous] [HttpPost] public ActionResult Login(string Login, string Password) { // empty passwords are not allowed if (Password == “”) return Redirect(Request.UrlReferrer.ToString()); bool LoginResult = WebSecurity.Login(Login, Password, true); return Redirect(Request.UrlReferrer.ToString()); } 我登录,关闭浏览器并再次打开它去我的网站 – >用户已登录。我关闭浏览器,等待一段时间(约30分钟)转到我的网站 – >用户已注销。 为什么? 会话应存储7天,但我们甚至没有30分钟。 Whan可能是问题的根源? 编辑1 主要想法是我想在几天内回到网站并仍然使用登录用户打开它

mvc和webapi之间的身份validation(单独的域/应用程序)

我正在为以下场景寻找好的想法/资源/实现 MVC网站http://mywebsite.com http://myapi.com上的 Webapi REST服务 重要信息 – 请注意单独的域/应用程序.. 用户登录网站,并通过JSONP / CORS从API获取数据 显然,我不希望用户使用基本身份validation在webapi上进行身份validation。 但API也暴露于Android / IOS应用程序,所以我需要基本的身份validation 我想过从MVC站点返回一个令牌,然后在webapi站点写一个DelegatingHandler来使用该令牌进行身份validation,但我想要一些输入,或者甚至更好的解决方案 我为这个场景做了一个漂亮的图表:

ASP.NET MVC – 跨子域身份validation/成员身份

在实现基于子域的语言切换器时遇到障碍(en.domain.com加载英语,jp.domain.com加载日语)。 如何让单个成员资格系统跨多个子域工作(ASP.NET MVC C#)? 看到有关将domain=”domain.com”添加到web.config中的条目的内容。 那样做了,但是在本地visual studio开发Web服务器上测试时是否有效?

你如何在你的DDD中编写身份validation,角色和安全性?

如何在C#域驱动设计项目中实现角色和安全性? 关于它是应该由调用应用程序(ASP.NET MVC)还是在域模型本身(模型实体和服务)中实现,我们有一些争论。 有些人认为它应该在网站本身,因为那是身份validation已经存在的地方。 但这意味着每次与核心业务系统集成时都必须重新实现安全性。 例如:管理员应该能够在系统中执行任何操作,例如编辑和删除记录(即他们可以删除用户的订单)。 另一方面,用户应该只能编辑和删除他们自己的记录(即他们可以在购物车中添加/删除项目)。 顺便说一句,这里有一个很好的论文,涵盖了有关DDD和安全性的7种不同场景: 域驱动设计中的安全性 第4章安全服务设计方案 4.1场景1:作为常规服务的安全服务 4.2场景2:UI中嵌入的安全性 4.3场景3:封装域模型的安全服务 4.4场景4:安全服务作为UI的网关 4.5场景5:安全服务作为UI的适配器 4.6场景6:AOP与适配器集成的安全服务 4.7场景7:与AOP集成的安全服务 我个人倾向于使用PostSharp进行AOP,但之前没有做过多少工作,我对犹豫不决。

如何在servicestack.net中实现身份validation

我正在调查servicestack.net – 但是它的示例和文章似乎没有涵盖身份validation – 这是由servicestack.net处理的 – 如果是这样的话? 特别是我有兴趣实现对以下方面的支持: OAuth(因此能够检查原始请求并validation它/检索关联的用户信息并在将请求传递到servicestack.net进行处理之前与请求关联)。 基于会话/ cookie的身份validation(因此允许已经具有有效ASP.Net会话的Ajax客户端将其用于身份validation,而不是需要显式传递登录和密码详细信息以获取适合随后请求提交的会话令牌)。 有人能指出我在使用ServiceStack.Net框架时certificate身份validation/安全性的文档/示例的方向。

SignInManager,它是什么以及如何使用?

我正在探索SignInManager类。 但MSDN上提供的信息非常无用。 它只告诉提供的方法和属性。 我在寻找的是, 1)什么是SignInManager? 2)如何使用它? 3)我有自己的数据库,其中包含凭据相关信息(用户名和密码) 我如何使用SignInmanager以及如何使用它,以便我的自定义数据库用于validation用户? 我正在使用asp.net MVC 5和Visual Studio 2015.在我的示例项目中,我有包含操作方法的帐户控制器 public async Task ExternalLoginCallback(string returnUrl) 但我不知道如何使用它,MSDN完全无用提供这方面的信息。 任何有用的链接都会详细解释它,因为我不知道SignInManager是什么以及它的用途。 谢谢

从Windows服务更新ASP.Net成员资格

我正在为一家物业管理公司开展一个项目。 有后端系统存储所有租户和物业组合,以及一个允许用户查看他们的包裹,服务请求等的前端网站。 我需要编写一个Windows服务,将其信息从后端拉出并将其放入成员资格数据库中。 我无法弄清楚如何配置服务以连接到成员资格提供程序。

Owin Authentication.SignIn不工作

我尝试使用owin身份validation管理器来validation用户,但User.Identity.IsAuthenticated仍然是假的。 Startup.cs public partial class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } Startup.Auth.cs public partial class Startup { public static Func<UserManager> UserManagerFactory { get; set; } public Startup() { UserManagerFactory = () => { var userManager = new UserManager(new CustomUserStore()); return userManager; }; } public void ConfigureAuth(IAppBuilder app) { app.UseCookieAuthentication(new CookieAuthenticationOptions { […]