关闭

asp.net Forms 身份验证 html页面

158人阅读 评论(0) 收藏 举报
分类:

IIS 中默认是不支持静态页面进行Forms验证,在网上找个了好多答案,配置都太过繁琐

想让IIS的Forms验证 支持HTML静态页面其实只需要在web.config下进行简单的配置就可以了


1、在  system.web节点 配置  Forms验证

 <system.web>  
    <authentication mode="Forms">
      <forms loginUrl="Web/login.html" timeout="100" protection="All" />
    </authentication>
  </system.web>  


2、在  configuration 节点下 增加 location节点 声明需要验证的文件
 <location path="Web/Views">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>
此时未登录的状态下 访问Views文件下的aspx,cshtml等.net的资源文件就会重定向至Web/login.html 页面,但是访问html、xml等文件还是不需要验证。

3、在system.webServer节点增加 handlers  节点配置

 <system.webServer>
    <handlers>
      <add name="htmlPageHandlerFactory" path="*.html" verb="*" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" preCondition="integratedMode" />
    </handlers>
  </system.webServer>
name: 随便定义,但是必须唯一

path :*表示匹配所有文件,*.html 只匹配html文件

verb 请求谓词 get、post 。 *号表示支持所有谓词


此时再次访问站点的 html文件就会出现如下图的错误



提示已经很明显,只需要在compilation节点下注册一个.html的扩展

<system.web>  
    <authentication mode="Forms">
      <forms loginUrl="Web/login.html" timeout="100" protection="All" />
    </authentication>
    <compilation debug="true" targetFramework="4.5" defaultLanguage="C#">
      <buildProviders>
        <add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
      </buildProviders>
    </compilation>
  </system.web>


当然 最重要的一步不能忘记,登录成功之后设置凭证

        [HttpGet]
        public ActionResult Login()
        {

            System.Web.Security.FormsAuthentication.SetAuthCookie(Guid.NewGuid().ToString(), true);

            return Json(new { result = true, msg = "登录成功" }, JsonRequestBehavior.AllowGet);

        }




0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9465次
    • 积分:187
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:17篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论