当前位置: 首页 > news >正文

Form身份验证

Forms身份验证
Web.config
<system.web>
<authentication mode="Forms">    
        <forms loginUrl="登陆地址.aspx" defaultUrl="Default.aspx" />   <!--设置你的登陆页-->  defaultUrl如果直接打开的就是 登陆地址.aspx 用户名密码输入成功后跳转的页面
      </authentication>
      <authorization>  
        <deny users="?"/> <!--告诉所有未登录用户无权直接等主页 就是让你不登陆无法进入其他页子-->  ?表示所有用户
       <allow users="*"/><!--所有用户可以直接不登陆直接浏览--> *表示所有用户
      </authorization>
    </system.web>

后台跳转就不能使用response.redirect而要使用
FormsAuthentication.RedirectFromLoginPage(txtuser.Text,false) 第二个参数的意思 是否要创建永久cookie false就是否每次进都要从输入 true是 第一次进完第二次就不用从新输入
在跳转后的页子后台要获取txtuser.Text 要使用
Context.User.Identity.Name

FormsAuthentication.SignOut()注销登录

Web.config例子

  1. <system.web>  
  2.         <compilation debug="true" targetFramework="4.0" />  
  3.       <authentication mode="Forms">  
  4.         <forms loginUrl="Login.aspx" defaultUrl="Default.aspx"/>  
  5.       </authentication>  
  6.       <authorization>  
  7.         <allow users="*"/>  
  8.       </authorization>  
  9.     </system.web>  
  10.   <location path="admin"<!--admin是文件夹名称-->  <!--意思就是除了admin文件夹里的文件外其他的都可以随意访问admin文件夹里德文件必须要登录-->  
  11.   <system.web>  
  12.     <authorization>  
  13.       <deny users="?"/>  
  14.     </authorization>  
  15.   </system.web>  
  16.   </location>  

Login.aspx后台

 FormsAuthentication.RedirectFromLoginPage(登录名, false);  

 

 

在一个ASP.NET网站中,有些页面会允许所有用户访问,包括一些未登录用户,但有些页面则必须是已登录用户才能访问, 还有一些页面可能会要求特定的用户或者用户组的成员才能访问。 这类页面因此也可称为【受限页面】,它们一般代表着比较重要的页面,包含一些重要的操作或功能。

为了保护受限制的页面的访问,ASP.NET提供了一种简单的方式: 可以在web.config中指定受限资源允许哪些用户或者用户组(角色)的访问,也可以设置为禁止访问。

比如,网站有一个页面:MyInfo.aspx,它要求访问这个页面的访问者必须是一个已登录用户,那么可以在web.config中这样配置:

<location path="MyInfo.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

为了方便,我可能会将一些管理相关的多个页面放在Admin目录中,显然这些页面只允许Admin用户组的成员才可以访问。 对于这种情况,我们可以直接针对一个目录设置访问规则:

<location path="Admin">
    <system.web>
        <authorization>
            <allow roles="Admin"/>
            <deny users="*"/>
        </authorization>
    </system.web>
</location>

这样就不必一个一个页面单独设置了,还可以在目录中创建一个web.config来指定目录的访问规则,请参考后面的示例。

在前面的示例中,有一点要特别注意的是:
1. allow和deny之间的顺序一定不能写错了,UrlAuthorizationModule将按这个顺序依次判断。
2. 如果某个资源只允许某类用户访问,那么最后的一条规则一定是 <deny users="*" />

在allow和deny的配置中,我们可以在一条规则中指定多个用户:
1. 使用users属性,值为逗号分隔的用户名列表。
2. 使用roles属性,值为逗号分隔的角色列表。
3. 问号 (?) 表示匿名用户。
4. 星号 (*) 表示所有用户。

 

有些时候你允许了一些特定的网页可以访问,但是页面出现了一下问题,可能是js或者css不能匿名访问,所以界面出现异常,我们可以这么处理

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</configuration>

想了解更加详细的,访问:https://www.cnblogs.com/fish-li/archive/2012/04/15/2450571.html

转载于:https://www.cnblogs.com/ITzhangyunpeng/p/9155381.html

相关文章:

  • Linux常用命令——runlevel、init
  • python爬虫——爬取豆瓣TOP250电影
  • 携程小程序初体验
  • java虚拟机之垃圾回收算法
  • 10分钟了解JS堆、栈以及事件循环的概念
  • 常见面试题—css实现垂直水平居中
  • hyperLedger fabric 从0到1 + End2EndIT源码解析
  • 天猫校园店一个月签约100家高校!未来要服务2000万高校人群
  • T-SQL 簡易小數處理
  • 基于 CentOS 搭建 WordPress 个人博客
  • eclipse部署jrebel热启动后报错java.lang.OutOfMemoryError: PermGen space问题
  • Powershell渗透测试系列–进阶篇
  • 【leetcode】802. Find Eventual Safe States
  • 架构的代码结构
  • 做RAID1 遇到种种问题
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 230. Kth Smallest Element in a BST
  • Angular 2 DI - IoC DI - 1
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • dva中组件的懒加载
  • Golang-长连接-状态推送
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • MySQL QA
  • mysql常用命令汇总
  • PaddlePaddle-GitHub的正确打开姿势
  • sessionStorage和localStorage
  • text-decoration与color属性
  • ucore操作系统实验笔记 - 重新理解中断
  • 从伪并行的 Python 多线程说起
  • 关于Flux,Vuex,Redux的思考
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 数据仓库的几种建模方法
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ###C语言程序设计-----C语言学习(6)#
  • #include到底该写在哪
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (C语言)字符分类函数
  • (ibm)Java 语言的 XPath API
  • (编译到47%失败)to be deleted
  • (论文阅读11/100)Fast R-CNN
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .describe() python_Python-Win32com-Excel
  • .NET Core 版本不支持的问题
  • .NET Micro Framework 4.2 beta 源码探析
  • .net Signalr 使用笔记
  • .net 按比例显示图片的缩略图
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .Net的DataSet直接与SQL2005交互
  • @Autowired多个相同类型bean装配问题
  • @media screen 针对不同移动设备
  • @Transactional 竟也能解决分布式事务?