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-09-28 10:19:49

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

ASP.NET 安全认证(一):如何运用 Form 表单认证

asp.net|安全 代码写 N 久了,总想写得别的.这不,上头说在整合两个项目,做成单一登录(Single Sign On),也有人称之为"单点登录".查阅相关文档后,终于实现了,现在把它拿出来与大家一起分享.或许大家会问:"这与标题不符呀?"别急,在下笔之前,我脑子里想到了我刚使用 Form 认证时遇到的一些问题,以及使用过程用到的一些技巧(实乃投机取巧是也 ^_^ ).偶打初中那时,语文水平就不怎么滴,考试常常作文写不出来,所以写作水平有限,还请大家海量.对了

ASP.NET安全认证(二)灵活运用表单认证中的 deny 与 allow 及保护 .htm 等文件

asp.net|安全 话说上回,简单地说了一下 Form 表单认证的用法.或许大家觉得太简单,对那些大内高手来说应该是"洒洒水啦""小 Kiss 啦(小意思)".今天咱们来点的花样吧:古有六扇门,拒收叶孤城:东门不刮风,吹雪姓西门:缎带作凭证,决战紫禁城. 五.Web.config 的作用范围 新建项目时, VS.Net 会在项目根目录建立一个内容固定的 Web.config.除了在项目根目录,你还可以在任一目录下建立 Web.config ,条件就是应用程序级别的

ASP.NET安全认证(二)灵活运用表单认证中的deny与allow及保护.htm等文件

asp.net|安全 话说上回,简单地说了一下 Form 表单认证的用法.或许大家觉得太简单,对那些大内高手来说应该是"洒洒水啦""小 Kiss 啦(小意思)".今天咱们来点的花样吧:古有六扇门,拒收叶孤城:东门不刮风,吹雪姓西门:缎带作凭证,决战紫禁城. 五.Web.config 的作用范围 新建项目时, VS.Net 会在项目根目录建立一个内容固定的 Web.config.除了在项目根目录,你还可以在任一目录下建立 Web.config ,条件就是应用程序级别的

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

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

SharePoint 2013 修改表单认证登录页面

前 言 之前的博客我们介绍了如何为SharePoint配置表单登陆,但是,登陆页面是丑.很丑.非常丑.特别非常丑!我们现在就介绍一下如何定制SharePoint表单登陆页面! SharePoint 表单认证的页面,在每个Web App的端口下的_forms文件夹中,如下图: 进去发现有一个页面和一个配置文件,我们主要修改这个页面就可以了,如下图: 主要就是修改table里面的格式,我们通常新建一个Table替换掉现有的,然后把相应控件移动到我们需要的位置,即可,如下图: 我们把自己修改好的HTM

ASP.NET 安全认证(三): 用Form 表单认证实现单点登录

asp.net|安全 "等了好久终于等到今天,写了好久终于就快完结,但是网友的反应却让我有一些的伤心.盼了好久终于盼到今天,忍了好久终于把此文撰写,那些受冷落的无奈早就无所谓,累也不说累"(歌词<今天>新演绎).看着人家的 Blog 文章的评论是一条接一条,再瞧瞧自己:"无人问津呐,真-无-奈--唉,没人理我,还是回家吧.""哎,还没开始写,怎么就走了?回去干什么呢?"回去写作业去啊,上回交待的课外作业你做了没?(注:http://b

ASP.NET安全认证(三): 用Form 表单认证实现单点登录

asp.net|安全 "等了好久终于等到今天,写了好久终于就快完结,但是网友的反应却让我有一些的伤心.盼了好久终于盼到今天,忍了好久终于把此文撰写,那些受冷落的无奈早就无所谓,累也不说累"(歌词<今天>新演绎).看着人家的 Blog 文章的评论是一条接一条,再瞧瞧自己:"无人问津呐,真-无-奈--唉,没人理我,还是回家吧.""哎,还没开始写,怎么就走了?回去干什么呢?"回去写作业去啊,上回交待的课外作业你做了没?(注:http://b

关于ASP.NET的FORMS的表单认证

问题描述 网站上有两个目录.打开A目录中的文件.如果没通过认证就返回A页面打开B目录中的文件.如果没通过认证就返回B页面应该如何实现?我只知道在网站根目录中的WEB.CONFIG文件中可以用loginUrl="user/login.aspx"属性返回一个特定的页面. 解决方案 解决方案二:跟你定义根目录一样,在每个文件夹里定义呀看完这个你就完全明白了.http://www.cnblogs.com/luomingchao/articles/474674.html解决方案三:在子目录中的W

请问Forms表单认证安全吗?

问题描述 我在WEB.CONFIG里直接设置了超管的用户名和密码.然后用Forms的认证方式.这样做安全吗? 解决方案 解决方案二:up一下~~~~~解决方案三:我在WEB.CONFIG里直接设置了超管的用户名和密码//这就不安全解决方案四:可以加密-解决方案五:恩.在WEB.CONFIG把用户和密码加密一下.然后安全吗??解决方案六:mark