您的位置:首页 > 其它

基于角色(Role-Based)的表单验证

2004-09-24 08:45 417 查看
src:http://www.cnblogs.com/caca/archive/2004/07/26/27267.aspx

要求:
using System.Web.Security
using System.Security.Principal

[Principal]:主要的(这里怎样翻译呢??)
==================================

目录

+admin1
-default.aspx
-web.config //web.config#1
+admin2
-default.aspx
-web.config//web.config#2
+bin
-web.config//web.config#root
-login.aspx

==========================
目的:
admin1文件夹:只有role是administrator可以访问.
admini2文件夹:只有role是controler可以访问.

帐号,密码,角色存储在特定数据库中.

本例目的(其他道理相同):
caca是administrator
wawa是controler
所以caca可以访问admin1,不能访问admin2;wawa反之.

==========================
配置:
(1)web.config#root

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="authenticationcookie"
loginUrl="login.aspx" protection="All" path="/" timeout="40"/>
</authentication>
</system.web>
</configuration>

(2)web.config#1

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="administrator"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>

(3)web.config#2

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="controler"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>

==========================
关键代码:
(1)login.aspx

<script language=c# runat=server>
private void signin(Object sender,EventArgs e)
private void signout(Object sender,EventArgs e)
</script>

<html>
<head>
<title>LogIn</title>
</head>
<body>
<form runat=server>
Name:<asp:textbox runat=server id=tbName/>[caca/wawa]
<asp:button runat=server text=LogIn onclick=signin/>
<asp:button runat=server text=SignOut onclick=signout/>
<hr>
<asp:label runat=server id=lblMessage/>
</form>
</body>
</html>

(2)Global.asax

<% @ import namespace=System.Security.Principal %>
<% @ import namespace=System.Security %>
<script language=c# runat=server>
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: