asmx希望在头中有哪些sessionid/cookie信息?
拨打登录WebMethod时,我保存了HTTP标头cookie/sessionID信息,因此我可以通过FormaUthentication确保的后续WebMethod调用将其发送回.我想我只需要知道适当的标题值即可保存并将其发送回去. 我使用KSOAP2从Android应用程序调用这些服务. 呼叫登录时介入代码时.我看到两个 Set-Cookie标题项目: Set-Cookie ASP.NET_SessionId=wblzzrtfmli4blku2dslw5iw; path=/; HttpOnly Set-Cookie .ASPXAUTH=8264E023428DA853BB163504C0D375D792FC631BB873F04D196E04BAEDE7F7BB39BB5C840D0CD0613A0DD58B2456F12EE21F212D93457F3D6BC2FC343C6AE1E3DD97473B055B36379D178FE6C412EFF61CFCE7F
0 2024-02-09
编程技术问答社区
在GET与POST Ajax请求中的不同行为
我们有一个MVC应用程序,该应用程序将控制器用于AJAX端点,并进行身份验证. 我遇到了一个有趣的方案,在这个方案中,获取请求的行为与邮政请求的行为不同(对于未经授权的用户). 在这种特殊情况下,我们的自定义ControllerFactory运行以下代码,试图访问此控制器: FormsAuthentication.SignOut(); requestContext.HttpContext.Response.Redirect(FormsAuthentication.LoginUrl); throw new UnauthorizedAccessException(); (我意识到在Ajax请求中重定向是没有意义的,但请忍受). 当我将get请求(ajax)执行此控制器时,客户端会收到401-未经授权的异常,我可以在客户端端捕获并将用户重定向到登录页面. . 当我向此控制器执行发布请求(AJAX)时,我将获得302,然后我的请求重定向到我的登录页面.
0 2024-01-21
编程技术问答社区
在Safari浏览器中没有设置ASP.NET表单验证cookie
我有一个ASP.NET Web服务,该服务揭示了一种称为dologin 的方法 [WebService(Namespace = "http://rtns.ism.ec/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] [ScriptService] public class UserManagerService : WebServiceBase { [WebMethod(EnableSession=true)] [ScriptMethod] public ResponseBase DoLogin(LoginCredentials Credentials) { Credentials.IpAddress = HttpContext.Current.Request.UserHostAddress;
4 2024-01-21
编程技术问答社区
.NET C#: 如何在AJAX调用过程中处理表单认证过期的问题
对于上下文,我在我的web.config中设置了一个表单身份验证超时值,并且正在使用ASP.NET MVC 1.我认为最容易说出我的问题为2个用例 - 第一个发生了什么情况没有身份验证超时,第二个是身份验证超时发生的事情: 正常情况: 用户将登录到应用程序中,身份验证计时器开始勾选.虽然身份验证期仍然有效,但用户在页面上单击触发Ajax调用的内容(通过jQuery).我们击中服务器,处理请求,然后将部分视图返回给用户(作为ActionResult). HTML作为字符串进入Ajax的成功方法,然后将此HTML注入页面上的DIV.这一切都是预期的. 超时案例: 用户将登录到应用程序中,身份验证计时器开始勾选. x 的时间量后,身份验证期到期.随着到期时间的上升,用户单击页面上的某些内容,以触发Ajax调用(使用jQuery).我们击中了服务器,但是身份验证票过期. .NET自动将重定向到设置超时周期的同一Web.config元素中定义的loginURL值.对我来说,
2 2024-01-21
编程技术问答社区
防止AJAX定时器控制请求扩展FormsAuthentication ticket?
我有一个使用一些ASP.NET AJAX计时器控件(即轮询)的WebForms应用程序.如果用户在其中之一的页面上,则他们将有效地从未暂停,因为投票过程使他们的身份验证票保持活力. 我想分割计时器控件,以便它们不会触发表单身份验证的续订方法.我正在走的路径和我之前所做的类似的事情是将某些内容注入AJAX HTTP请求中,以将这些请求确定为来自计时器的来源,然后在隐藏身份验证cookie的表单身份验证模块之后运行一些代码从响应中退回. 关于如何防止计时器控制保持表单身份验证票的任何其他建议? 解决方案 取得进展,目前这是我的解决方案.我从计时器AJAX请求中设置自定义标头,然后在模块中检查该标头(您可以在"答案版本"历史记录中看到此标头)到一个简单的,仅模块的解决方案. (刷新来自计时器问题) public class SkipAuthTicketRenewalModule : IHttpModule { public void Init(HttpAppl
4 2024-01-21
编程技术问答社区
仅在Chrome浏览器中出现Jquery ajax随机错误
问题的摘要 通过表单身份验证与Chrome登录后.登陆页面为returnUrl将错误我的jQuery ajax而不会击中服务器. status code = 0和message = "error". (几乎没有用).尝试了Firefox并且无法复制问题后,我开始认为Chrome是问题所在.清除缓存,关闭和重新打开无法解决.我能找到的最接近的文章是. jquery ajax-状态代码0? 但是,URL是相对的,/Test 另一篇文章: chrome中的jquery ajax问题P> 更长的描述 我因jquery ajax而遇到错误.似乎在使用表格身份验证登录后立即;登录页面(returnUrl),将js错误.然后,在刷新页面(F5)之后,脚本将(主要是)工作.即使不使用F5,使用链接导航到同一页面也将允许JS(主要是)工作.因此,登录后直接是我的主要测试路径. 此外,在另一个选项卡中导航至/Test操作直接工作.原始标签仍然错误,直到我如前所述导航或刷新它.
0 2024-01-20
编程技术问答社区
当FormsLogin会话不再活动时,ASP.NET MVC强制将AJAX请求重定向到登录页面。
我有一些AJAX调用,可以通过jquery.ajax方法呈现partialviewResults.这很棒,我得到的观点完全按照我想要的方式呈现. 当我离开页面一段时间时,问题出现了,表单Auth会话到期.当我单击执行AJAX请求的操作时,它显示了我的Div中的登录页面. 我希望它将整个页面重定向到登录页面. 解决方案 在global.asax 的application_endrequest()方法中进行设置 您可以检查请求是否是AJAX请求,还可以检查它是否发送HTTP重定向(302),如果是的,那么我们要发送401. protected void Application_EndRequest() { var context = new HttpContextWrapper(Context); // If we're an ajax request, and doing a 302, then we actua
0 2024-01-20
编程技术问答社区
asp.net Windows窗体认证的管理员文件夹
我使用c#和asp.net. 我的网站上有此文件结构: ~\Admin\SecuredFolder\ManageWebsite.aspx ~\Admin\Login.aspx ~\Homepage.aspx 我要实现的目标非常简单,但我想我所有的尝试都太复杂了,我有点困惑. 我的目标: homepage.aspx 和 login.aspx 应该公开所有人(匿名用户) SecuredFolder 应仅适用于记录的用户(即:管理用户).谁试图访问此文件夹中的任何页面(不被登录)应重定向到登录页面. 一旦登录成功,它将成功地重定向到 managewebsite.aspx 我知道这应该是一个简单的实现,但我觉得我还没有正确地内化. 希望你们中的任何人都能为我提供一个例子. 解决方案 将此webconfig放入SecuredFolder ~\Admin\SecuredFolder\
4 2024-01-19
编程技术问答社区
如何将认证从ADFS回落到基于表单的认证
我们使用表单身份验证(ASP.NET成员资格)有一个ASP.NET应用程序.现在,我们希望在下面的情况下使其成为索赔的ASP.NET应用程序: ADF充当Intranet(AD)用户的IP-STS 如果AD用户未映射到ASP.NET成员资格用户或映射ASP.NET成员资格用户无权访问应用程序 - > sholdback以形成身份验证(外部IP-STS) 如果最终用户从域外部访问应用程序,我们不希望ADF提示Windows凭据.我们希望将最终用户重定向使用外部IP-STS使用表单身份验证. 这种情况可以实现吗?还是还有其他可能的解决方案?我应该如何设置/配置我的应用程序? 谢谢 解决方案 这个问题的经典解决方案是拥有两个具有分裂DNS的ADF. 内部用户重定向到配置为WIA的Intranet中的ADF. 外部用户重定向到配置为FBA的DMZ中的ADF. 对于第二点,不清楚是内部或外部用户. 如果外部(即FBA),则可以修改表单登录页面,
4 2024-01-19
编程技术问答社区
当ajax请求返回FormsAuthentication.RedirectToLoginPage时,如何重新加载页面?
我在使用ASP.NET MVC中使用表单身份验证时,找出如何将AJAX请求重定向到登录页面有点麻烦. 在OnaThorize方法中,我知道请求需要授权.而且,如果cookie因超时等而被删除,我想将用户重定向到登录页面.但是通常,这些请求是由jQuery通过AJAX请求触发的.因此,请求返回登录页面的HTML. 那么,如何将用户重定向到AJAX请求登录页面?有什么想法吗? 解决方案 您可以编写一个自定义授权属性,该属性将测试是否是AJAX请求,如果是,则返回包含URL的JSON,将其重定向到: public class MyAuthorizeAttribute : AuthorizeAttribute { protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { if (filterContext.HttpCont
2 2024-01-18
编程技术问答社区
当浏览器关闭时,自动从ASP.NET的表单认证中签出
是否有一种方法可以强制ASP.NET在关闭浏览器或新地址中的用户类型时从其身份验证中签署? 如果浏览器打开了,那么我需要保持用户身份验证,因此最好在身份验证票上进行长时间的时间. 解决方案 不确定这是否仍然是问题,但这对我解决了问题.只需将以下内容添加到开始页面的page_load事件: protected void Page_Load(object sender, EventArgs e) { if (Request.UrlReferrer == null || string.IsNullOrEmpty(Request.UrlReferrer.AbsolutePath)) { Session.Abandon(); FormsAuthentication.SignOut(); FormsAuthentication.RedirectToLoginPage(); } } 其他解决方案 我已经从
2 2024-01-18
编程技术问答社区
控制器中Ajax动作方法的授权属性
我试图在我的MVC3应用程序中授权AJAX操作方法.当用户会话到期并要求执行AJAX操作方法时,就会发生问题. ASP.NET身份验证系统发送302重定向,而不是发送401,这对于非AJAX请求似乎是合乎逻辑的.但是有了Ajax,一切都很快就被搞砸了.因此,我决定遵循建议的方法 asp.net MVC强迫AJAX请求"当不再活动时,请将AJAX请求重定向到登录页面. 基本上,在请求结束时,我们检查请求是否是AJAX请求,并且有重定向(302响应).如果是这样,我们将响应代码从302替换为401.因此,在JavaScript中,我们检查了401并从那里执行重定向.这是我提出的基本代码 在global.asax.cs 中 protected void Application_EndRequest() { var context = new HttpContextWrapper(Context); // If we're an ajax req
2 2024-01-15
编程技术问答社区
AJAX和FormsAuthentication,如何防止FormsAuthentication覆盖HTTP 401?
在一个配置formauthentication的应用程序中,当用户访问auth cookie或用过时的页面访问一个受保护的页面时,ASP.NET发行http 401未经授权,然后在请求结束前和formaauthentication模块拦截此响应,并且为找到的http 302更改它,设置http标头"位置:/path/loginurl",以将用户代理重定向到登录页面,然后浏览器转到该页面并检索登录页面,该页面不受保护,不受保护,不受保护,获得http 200好. 当不考虑Ajax时,这确实是一个很好的主意. 现在,我的应用程序中有一个URL返回JSON数据,并且需要对用户进行身份验证.一切都很好,问题是,如果Auth Cookie到期,当我的客户端代码调用服务器时,将使用登录页面的HTML获得HTTP 200可以,而不是未经授权的HTTP 401(因为先前解释了).然后,我的客户端试图将登录页面html解析为JSON,而失败. 那么问题是:如何应对客户端过期的身份验证?应
0 2024-01-13
编程技术问答社区
用ASP.NET MVC进行jQuery表单认证
是否可以使用jQuery ajax调用使用ASP.NET MVC执行表单身份验证?我一直找不到任何这样的例子. 更具体地说,如何在页面上设置auth cookie(无重定向),以便我可以连续身份验证的ajax请求? 解决方案 是的,这是可能的. 只需使用方法 Mike Bosch在此处描述的 我创建了一个轻量级的loginresultdto类,我以JSON返回: public class LoginResultDTO { public bool Success {get;set;} public string Message {get;set;} public string ReturnUrl {get;set;} } 这是我登录视图的脚本块: $(document).ready(function() { var form = $($("fo
2 2024-01-12
编程技术问答社区
表格认证和活动目录
目前,我有一些项目使用表单身份验证,并且可以让用户使用其广告帐户登录.我一直以来的方式非常容易. web.config //first I set up the connection string to the active directory account //Then I add the membership provider for active directory
0 2024-01-10
编程技术问答社区
在目前使用表单认证的情况下,在网络应用中支持活动目录是否困难?
我有一个Web应用程序,目前仅支持ASP.NET形式身份验证. 我的用户业务逻辑当前就像: users.getUserById(userId); users.loginuser(用户名,密码); 即.它是模块化的,我希望支持Active Directory不会很困难. 我有可能支持AD和表格吗?如果是的,我该怎么办,只需为第一次签名使用广告的人插入新用户? 解决方案 没有您要做的唯一的事情就是Active Directory会员资格提供商的会员提供者.但是,存在一些主要差异,用户将始终使用特定的用户名登录,因此不需要用户名和密码. 其他解决方案 AD的默认提供商是" Windows Integrate Atchentionical",这不能与表格Auth混合并匹配.但是,如果您决定实施自定义提供商,则可以维护您的业务逻辑.您将必须编写广告集成代码.是的,如果您愿意,使用API​​进行广告,您可以自动添加用户.
0 2024-01-10
编程技术问答社区
使用AdMembership providier登录的表格在下次登录时更改密码
我正在做ASP.NET,使用formauthentication与术语proivder. 我必须手动编写"下一个登录"屏幕上的"更改密码"屏幕,因为它在提供商中不支持Nativley. 我致电: if (Membership.Provider.ChangePassword(cpCv.LoginName, cpCv.OldPassword, cpCv.NewPassword)) 验证用户并更改密码(但尚未清除"下一个登录标志") 但总是失败, (我认为当设置"下一个登录标志"上的"更改密码"时,由于会员资格验证失败.) 验证用户的最简单方法是什么,因此在重置密码并清除" Next Logon"标志之前,我可以确定"旧密码"和"用户名"匹配? 我已经有重置通信和清晰的标志工作,这是我卡住的验证. 还尝试了此代码,如果重置标志为false,则将登录,如果TUME无法登录. DirectoryEntry de = new Directo
2 2024-01-10
编程技术问答社区
我怎样才能在南希中对活动目录进行认证?
这是一篇过时的文章,但是在ASP.NET中,您可以通过Web.config文件中的某些设置在基于DB的会员提供商和Active Directory之间切换.我不需要具体,但是在开发和生产之间切换的能力将是惊人的. 如何完成? 解决方案 实际上,解决方案比看起来要简单得多.只需将Active Directory视为用户的存储库(就像数据库一样).您需要做的就是查询广告以验证输入的用户名和密码是否有效.因此,只需使用Nancy的表单验证并处理Iusermapper实施的Connetion即可.这是我为用户映射器提出的内容: public class ActiveDirectoryUserMapper : IUserMapper, IUserLoginManager { static readonly Dictionary LoggedInUserIds = new Dictionary(); readon
6 2024-01-10
编程技术问答社区
使用ASP.NET MVC的混合表单和LDAP认证与自动注册
我需要在使用LDAP(Active Directory)后端的ASP.NET MVC网站上使用基于表单的身份验证,例如Teamcity. 因此,如果请求的用户有效,我需要首先查询LDAP,然后根据LDAP用户身份验证Infos在数据库中自动注册用户以使用混合认证: 用户: admin(本地网站用户,仅存储在数据库中) 某人(LDAP用户,首次登录时在数据库中自动注册) 谢谢. 解决方案 我有一个模糊的设置,但我没有在本地注册表单auth的用户.使用Windows auth时,我可以获取LDAP用户信息,然后查询LDAP(知道用户的SamacCountName和域). 我认为您想为表单AUTH配置您的应用程序,然后让您的登录操作确定是否先用表格验证的凭据,如果不是,则使用一些不错的条件逻辑. . 您可以通过
0 2024-01-10
编程技术问答社区
ASP.NET中的ActiveDirectory当前用户名
我试图使ActiveDirectory和标准表单登录工作,但有一件事阻止了我.我无法获得当前Windows用户的名称.我拥有的最接近的是var i = WindowsIdentity.GetCurrent();,但这给了我IIS App Pool用户的名称.我在IIS中具有匿名身份验证,表格身份验证和Windows身份验证.我可以从广告中加载用户,因此我假设我的web.config正确设置了. 编辑:这是我的web.config(使用立面提供商):