Form authentication(表单认证)问题

前言

最近在做ASP.NET MVC中表单认证时出了一些问题,特此记录。

问题

进行表单认证时,在 PostAuthenticateRequest 事件中从Cookie值中解密票据。如下:

        protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
        {
            var authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
            if (authCookie != null)
            {

                var authTicket = FormsAuthentication.Decrypt(authCookie.Value);
                TODO......
             }
         }        

昨天一点问题都没有,今天再次运行却意外出现如下结果:

此问题从未遇见过,只能求助于stackoverflow了。

最终发现需要在配置文件中添加认证方式:

   <authentication mode="Forms">

   </authentication>

如上设置即可解决问题。

总结

上述加密和解密 FormsAuthentication.Encrypt and Decrypt 也和  machine key 有关,如上述未解决可通过设置machine key来解决。

参考网址:

formsauthentication unable to validate data

Configure MachineKey

时间: 2024-11-08 04:17:32

Form authentication(表单认证)问题的相关文章

SharePoint 2013 基于数据库的表单认证FBA,并添加注册界面

分三块: 1.配置  2.数据库添加用户 3.创建注册的页面 大纲  见黄色高亮处 1 先参考:   把配置文件弄好 http://www.cnblogs.com/jianyus/p/4617548.html SharePoint 2013 配置基于表单的身份认证 前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处web.config即可.下面,让我

SharePoint 2013 表单认证使用ASP.Net配置工具添加用户

前 言 上面一篇博客,我们了解到如何为SharePoint 2013配置表单身份认证,但是添加用户是一个麻烦事儿:其实,我们还可以用Asp.Net的配置工具,为SharePoint 2013添加表单用户,下面让我们简单介绍下,如何操作. 打开Visual Studio,新建项目,选择Asp.net web application类型,如下图: 点击OK,进入选择模板页面,如下图: 创建完毕,双击打开web.config,如下图: 添加数据库连接串,连接的是我们表单认证的数据库,不要写错了,如下图

Form Presonalization 表单个性化定义控制应用

1.1.1   表单个性化定义 Oracle EBS 11.5.10所增加的Form Presonalization功能,是在对Form不进行开发的前提下,用一些系统内置的触发器,按照所设定的控制规则及条件逻辑,改变Form的标准功能,从而实现对部分功能个性化控制的目的. 如下是使用"Form Presonaliza"应用的系统功能案例,在本文内只做参考,供浏览者拓展业务需求解决方案所需. 具体内容可参见ST.SUN编制的系列文档 Oracle ERP知识学习总结(一): <Fo

解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象

原文:解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象 之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的form,还有其他一些form插件也是一样的,使用不当就会遇到这个问题. 前台: <!DOCTYPE html> <html> <head> <meta http-equiv=

form提交表单

菜鸟的第一篇文章,今天在工作中遇到一个问题.下面来说说,也许很多大神都知道了,但作为菜鸟还是想说说. 对于table表格里面的数据,如下: [html] view plain copy print? <pre name="code" class="html">  <table> <tr> <td>ID</td> <td>姓名</td> <td>年龄</td> 

沫沫金 - jQuery序列化form表单【支持ajax提交form对象表单entity.xxx】

需要form表单提交,大表单对字段后台人工处理太麻烦.还是选择form表单对象(entity.xx)提交方便,那么怎么ajax提交这样的form对象表单呢? 命名jquery.commons.js内容如下 /**  * FORM对象表单ajax提交前数据处理方法  * @param frm  * @returns JSON Object  */ function getFormJson(frm) {     var o = {};     var a = $(frm).serializeArra

form提交表单上传图片

上传图片后将图片显示在当前页面上,本打算用ajax,但是上传图片必须设置 enctype="multipart/form-data",而要提交之后页面不跳转,所以查资料后采用form+iframe的方式.空的iframe并且不显示,将form的target设置为iframe,就会提交到iframe上,从而实现不刷新页面上传. <form name="uploadForm" id="uploadForm" method="post&

SharePoint 2013 表单认证使用ASP.Net配置工具加入用户

前 言 上面一篇博客,我们了解到怎样为SharePoint 2013配置表单身份认证.可是加入用户是一个麻烦事儿:事实上,我们还能够用Asp.Net的配置工具,为SharePoint 2013加入表单用户,以下让我们简介下.怎样操作. 打开Visual Studio.新建项目,选择Asp.net web application类型.例如以下图: 点击OK,进入选择模板页面.例如以下图: 创建完成,双击打开web.config,例如以下图: 加入数据库连接串,连接的是我们表单认证的数据库,不要写错

form注册表单圆角 demo

form注册表单圆角 <BODY> <div class="form"> <ul class="list"> <li> <label>用户名:</label> <div class="circle-box user"> <input type="text" placeholder="5之6位字母或数字组合"/>