网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

ASP.NET Forms身份认证

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/05
了方便,我可能会将一些管理相关的多个页面放在Admin目录中,显然这些页面只允许Admin用户组的成员才可以访问。对于这种情况,我们可以直接针对一个目录设置访问规则:

  1. <location path="Admin"> 
  2.     <system.web> 
  3.         <authorization> 
  4.             <allow roles="Admin"/> 
  5.             <deny users="*"/> 
  6.         </authorization> 
  7.     </system.web> 
  8. </location> 

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

在前面的示例中,有一点要特别注意的是:

1. allow和deny之间的顺序一定不能写错了,UrlAuthorizationModule将按这个顺序依次判断。

2. 如果某个资源只允许某类用户访问,那么最后的一条规则一定是 <deny users="*" />

在allow和deny的配置中,我们可以在一条规则中指定多个用户:

1. 使用users属性,值为逗号分隔的用户名列表。

2. 使用roles属性,值为逗号分隔的角色列表。

3. 问号 (?) 表示匿名用户。

4. 星号 (*) 表示所有用户。

登录页不能正常显示的问题

有时候,我们可能要开发一个内部使用的网站程序,这类网站程序要求 禁止匿名用户的访问,即:所有使用者必须先登录才能访问。因此,我们通常会在网站根目录下的web.config中这样设置:

  1. <authorization> 
  2.     <deny users="?"/> 
  3. </authorization> 

对于我们的示例,我们也可以这样设置。此时在浏览器打开页面时,呈现效果如下:

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/5/4B151245999.png" />

从图片中可以看出:页面的样式显示不正确,最下边还多出了一行文字。

这个页面的完整代码是这样的(它引用了一个CSS文件和一个JS文件): 498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/5/11151246337.png" />

  1. <%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4.     <title>FormsAuthentication DEMO  - http://www.cnblogs.com/fish-li/</title> 
  5.     <link type="text/css" rel="Stylesheet" href="css/StyleSheet.css" /> 
  6. </head> 
  7. <body> 
  8.     <fieldset><legend>普通登录</legend><form action="<%= Request.RawUrl %>" method="post"> 
  9.         登录名:<input type="text" name="loginName" style="width: 200px" value="Fish" /> 
  10.         <input type="submit" name="NormalLogin" value="登录" /> 
  11.     </form></fieldset>       
  12.       
  13.     <fieldset><legend>用户状态</legend><form action="<%= Request.RawUrl %>" method="post"> 
  14.         <% if( Request.IsAuthenticated ) { %> 
  15.             当前用户已登录,登录名:<%= Context.User.Identity.Name.HtmlEncode() %> <br /> 
  16.               
  17.             <% var user = Context.User as MyFormsPrincipal<UserInfo>;  %> 
  18.             <% if( user != null ) { %> 
  19.                 <%= user.UserData.ToString().HtmlEncode() %> 
  20.             <% } %> 
  21.               
  22.             <input type="submit" name="Logon" value="退出" /> 
  23.         <% } else { %> 
  24.             <b>当前用户还未登录。</b> 
  25.         <% } %>              
  26.     </form></fieldset>      
  27.       
  28.     <p id="hideText"><i>不应该显示的文字</i></p> 
  29.     <script type="text/javascript" src="js/JScript.js"></script> 
  30. </body> 
  31. </html> 

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号