ASP.NET实现匿名访问控制
来源:互联网 发布:百视通网络电视 编辑:程序博客网 时间:2024/06/05 16:12
对于通过IIS的实现都比较清楚,可以对文件夹或单个文件(页面)设置访问权限,IIS提供了“目录安全性”和“文件安全性”的设置方法。并可以通过直接设置不同访问人的权限。其中就提供了匿名访问的控制方法,这里不再细说。
首先介绍例子实现的效果,一个网站登陆以后可以将用户信息保存在一个cookie中,并标识用户是通过身份验证的,在访问其他页面的时候直接对用户的身份是否通过验证进行判断,如果通过即可继续访问页面,如果是一个未通过验证的匿名访问用户(即未登录用户)则将跳转到登陆页面提示用户登录。设置其中一个用户注册页面为可以匿名访问,因为业务逻辑上只有允许注册才能登陆。
在登陆页面还是先对用户的用户名和密码进行验证,至于使用与数据库比对的方法还是到AD中验证等都可以,然后通过以下的方法将当前用户在cookie中标识为通过验证的用户,并跳转到用户跳转到登陆页之前请求的页面。
FormsAuthentication.RedirectFromLoginPage(userName,createPersistentCookie);
在用户直接请求的页面上我们使用如下的方法来验证用户。
Context.User.Identity.IsAuthenticated
Context:获取与该页关联的 System.Web.HttpContext 对象
User:为当前 HTTP 请求获取或设置安全信息
Identity:获取当前用户的标识
IsAuthenticated:获取一个bool值,该值指示是否验证了用户
然后我们在Web.config中进行安全设置。
<authentication mode="Forms">
<forms loginUrl="Login.ASPx"></forms>
</authentication>
"Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。
<authorization>
<deny users="?" />
</authorization>
deny表示禁止,users="?"表示匿名用户
<location path="NewUser.ASPx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
表示新用户注册页面NewUser.ASPx,可以允许任何人访问。
这样就实现了对于匿名用户的访问控制。
例子: 下载http://bear-study-hard.cnblogs.com/Files/Bear-Study-Hard/UserAuthentication.rar
http://bear-study-hard.cnblogs.com/archive/2006/05/31/414134.html
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- ASP.NET实现匿名访问控制
- ASP.NET实现匿名访问控制
- ASP.NET实现匿名访问控制
- ASP.NET实现匿名访问控制
- ASP.NET实现匿名访问控制
- ASP.NET实现匿名访问控制
- ASP.NET访止匿名访问
- ASP.NET中的页面访问控制
- ASP.NET中的页面访问控制
- ASP.NET中的页面访问控制
- ASP.NET中的页面访问控制
- ASP.NET中的页面访问控制
- ASP.NET中的页面访问控制(转)
- ASP.NET匿名类型
- Asp.net实现IIS控制管理
- ASP.NET实现在服务器控制网页
- Asp.net实现IIS控制管理
- ASP.NET实现在服务器端控制网页
- ASP.Net防止刷新自动触发事件的解决方案
- ASP.NET服务器控件之视图状态
- ASP.NET2.0的视图状态持久性机制
- asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)
- 开发ASP.NETAtlas服务器端Extender控件—基本概念以及预先需求
- ASP.NET实现匿名访问控制
- 在Asp.net用C#建立动态Excel(外文翻译)
- httpRuntime一点经验
- 在ASP.NETAtlas中调用WebService—直接在ASPX页面上暴露WebMethod
- 利用ICallbackEventHandle实现类似AJAX的无刷新页面
- ASP.NET应用程序安全性问题
- 在ASP.NETAtlas中调用WebService—应用Cache减小服务器开销
- 投票结果的图片进度条显示
- 实现在页面中单击按钮关闭页面